51CTO首页
AI.x社区
博客
学堂
精品班
软考社区
免费课
企业培训
鸿蒙开发者社区
信创认证
公众号矩阵
移动端
视频课
免费课
排行榜
短视频
直播课
软考学堂
全部课程
软考
信创认证
华为认证
厂商认证
IT技术
PMP项目管理
免费题库
在线学习
文章
资源
问答
课堂
专栏
直播
51CTO
鸿蒙开发者社区
51CTO技术栈
51CTO官微
51CTO学堂
51CTO博客
CTO训练营
鸿蒙开发者社区订阅号
51CTO软考
51CTO学堂APP
51CTO学堂企业版APP
鸿蒙开发者社区视频号
51CTO软考题库
鸿蒙开发者社区
首页
帖子
问答
资源
课堂
直播
发现
登录/注册
51CTO
中国优质的IT技术网站
51CTO博客
专业IT技术创作平台
51CTO学堂
IT职业在线教育平台
活动
短视频
专栏
极客Show
鸿蒙技术特刊
我的关注
全部帖子
操作系统
OpenHarmony
HarmonyOS
其他
应用开发
卡片开发
三方库
IDE
其他
设备开发
海思开发板
树莓派
其他
框架语言
C/C++
Java
JavaScript
ArkUI / eTS
其他
其他
物联网
云原生
数据库
操作系统
大数据
人工智能
开发语言
其他
社区版务
社区公告
社区生活
社区规则
意见反馈
社区活动
默认
发布时间
热度
原创
精华
热门标签
HarmonyOS
ArkTS
鸿蒙
惊呆了,spring中竟然有12种定义bean的方法
前言在庞大的java体系中,spring有着举足轻重的地位,它给每位开发者带来了极大的便利和惊喜。我们都知道spring是创建和管理bean的工厂,它提供了多种定义bean的方式,能够满足我们日常工作中的多种业务场景。那么问题来了,你知道spring中有哪些方式可以定义bean?我估计很多人会说出以下三种:没错,但我想说的是以上三种方式只是开胃小菜,实际上spring的功能远比你想象中更强大。各位看官如果不信,请继续往下看。1.xml文件...
我欲只争朝夕
0回复
7970浏览
spring
#冲刺创作新星#java内存模型之重排序
原创
java内存模型之重排序happensbefore在JMM中,如果一个操作执行的结果需要对另一个操作可见,那么这两个操作之间必须要存在happensbefore关系。这里提到的两个操作既可以是在一个线程之内,也可以是在不同线程之间。程序顺序规则:一个线程中的每个操作,happensbefore于该线程中的任意后续操作。监视器锁规则:对一个锁的解锁,happensbefore于随后对这个锁的加锁。volatile变量规则:对一个volatile域的写,happensbefore于任...
急需吃饭的小谢
0回复
4094浏览
Security
#冲刺创作新星#Java并发机制的底层实现原理
原创
Java并发机制的底层实现原理Java代码在编译后会变成Java字节码,字节码被类加载器加载到JVM里,JVM执行字节码,最终需要转化为汇编指令在CPU上执行,Java中所使用的并发机制依赖于JVM的实现和CPU的指令。2.1volatile的应用在多线程并发编程中synchronized和volatile都扮演着重要的角色,volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个...
急需吃饭的小谢
0回复
4242浏览
Security
#冲刺创作新星#SpringSecurity认证流程分析
原创
SpringSecurity认证流程分析AuthenticationManagerAuthenticationManager是认证管理器它定义了SpringSecurity过滤器要如何执行认证操作。AuthenticationManager在认证后会返回一个Authentication对象,它是一个接口,默认实现类是ProviderManagerAuthenticationProviderAuthenticationProvider针对不同的身份类型执行具体的身份认证。DaoAuthenticationProvider用来支持用户名密码登录认证RememberMeAuthenticationProvider用来...
急需吃饭的小谢
0回复
5243浏览
Security
#冲刺创作新星#springsecurity 之 登录用户数据的获取
原创
springsecurity之登录用户数据的获取从当前请求对象中获取用户信息SpringMVC中Controller的请求参数都是当前请求HttpServletRequest带来的,AuthenticationPrincipal也是HttpServletRequest带来的,在Controller层我们拿到的是HttpServletRequest的实例是Servlet3SecurityContextHolderAwareRequestWrapperServlet3SecurityContextHolderAwareRequestWrapperServlet3SecurityContextHolderAwareRequestWrapper继承SecurityConte...
急需吃饭的小谢
0回复
5570浏览
Security
#冲刺创作新星#SecurityContextPersistenceFilter 过滤器链
原创
SecurityContextPersistenceFilterSecurityContextPersistenceFilter是Springsecurity链中第二道防线,位于WebAsyncManagerIntegrationFilter之后,作用是为了存储SecurityContext而设计的。SecurityContextPersistenceFilter主要做两件事:1.当请求到来时,从HttpSession中获取SecurityContext并存入SecurityContextHolder中,这样在同一个请求的后续处理过程中,通过SecurityContextHolder获取数据2.当一个请求处理完毕时,从...
急需吃饭的小谢
0回复
5439浏览
Security
Java日常开发的21个坑,你踩过几个?
前言最近看了极客时间的《Java业务开发常见错误100例》,再结合平时踩的一些代码坑,写写总结,希望对大家有帮助,感谢阅读1.六类典型空指针问题包装类型的空指针问题级联调用的空指针问题Equals方法左边的空指针问题ConcurrentHashMap这样的容器不支持Key和Value为null。集合,数组直接获取元素对象直接获取属性1.1包装类型的空指针问题publicclassNullPointTest{publicstaticvoidmain(String[]args)throwsInterruptedExceptio...
我欲只争朝夕
0回复
6105浏览
Java
10个经典又容易被人疏忽的JVM面试题
前言整理了10个经典又容易被疏忽的JVM面试题,谢谢阅读,大家加油哈github地址,感谢每颗star❝https:github.comwhx123JavaHome❞公众号:「捡田螺的小男孩」1.对象一定分配在堆中吗?有没有了解逃逸分析技术?「对象一定分配在堆中吗?」不一定的,JVM通过「逃逸分析」,那些逃不出方法的对象会在栈上分配。「什么是逃逸分析?」逃逸分析(EscapeAnalysis),是一种可以有效减少Java程序中同步负载和内存堆分配压力的跨...
我欲只争朝夕
0回复
5495浏览
JVM
spring中这些能升华代码的技巧,可能会让你爱不释手
一如何获取spring容器对象1.实现BeanFactoryAware接口ServicepublicclassPersonServiceimplementsBeanFactoryAware{privateBeanFactorybeanFactory;OverridepublicvoidsetBeanFactory(BeanFactorybeanFactory)throwsBeansException{this.beanFactorybeanFactory;}publicvoidadd(){Personperson(Person)beanFactory.getBean("person");}}实现BeanFactoryAware接口,然后重写setBeanFactory方法,就能从该方法...
我欲只争朝夕
0回复
5513浏览
spring
面试官:Java线程池了解?如果你还回答不好,那还不赶快收藏!
写在前面本文将根据面试中常被问到的Java线程池展开抽丝剥茧的解析,这个问题可以说是百分之百会在Java程序员面试中被问到,因为在工作中这个需求实在是太普遍了。Java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池。本文成文的思路将根据面试中问答的流程展开,读者完全可以将本文展开的知识点作为回答此问题的常规套路,如果你掌握本文所列出的知识点,那么就因这一个问题就...
我欲只争朝夕
0回复
4872浏览
Java
线程池
BlockingQueue浅析
大家好,我是小黑,一个在互联网苟且偷生的农民工。队列学过数据结构的同学应该都知道,队列是数据结构中一种特殊的线性表结构,和平时使用的List,Set这些数据结构相比有点特殊,它的特殊之处在于它只允许在队列的头部(Head)进行删除操作,在尾部(Tail)进行插入操作,这种方式的队列我们称之为先进先出队列(FIFO)。先进先出队列在JDK1.5中推出了队列这一数据结构的具体实现,接口Queue是对于队列的定义,并有一...
ywz888
0回复
6620浏览
BlockingQueue
#冲刺创作新星#linux入门指令
原创
文件管理命令df命令df命令描述:该命令检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。df命令语法:df[参数][目录或文件名]参数说明:参数说明a列出所有的文件系统,包括系统特有的proc等文件系统。k以KBytes为单位,返回各文件系统容量。m以MBytes为单位,返回各文件系统容量。h以GBytes、MBytes、KBytes为单位,返回各文件系统容量。H以M1000K取代M1024K的进位方式显...
炒香菇的书呆子
0回复
4216浏览
linux
聊一聊Java 泛型通配符
前言Java泛型(generics)是JDK5中引入的一个新特性,泛型提供了编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。泛型带来的好处在没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。对于强制类型转换错...
我欲只争朝夕
0回复
6175浏览
Java
双指针+归并排序!图解排序链表!
前言大家好,我是程序员田螺,今天我们来看一道很经典的leetcode真题:排序链表题目给你链表的头结点head,请将其按升序排列并返回排序后的链表。要求时间复杂度是O(nlogn)实例1:输入:head[4,2,1,3]输出:[1,2,3,4]实例2:输入:head[1,5,3,4,0]输出:[1,0,3,4,5]分析排序算法选定时间复杂度要求是O(nlogn),我们很容易想到快速排序,以及归并排序。我们先来回顾下快速排序,它的基本思想...
我欲只争朝夕
0回复
6266浏览
链表
宇宙条一面:十道经典面试题解析
前言大家好,我是捡田螺的小男孩。(星标置顶田螺哥,学起来!)有位朋友面试了宇宙条,后端方向。整理了这几道面试真题以及答案,如有错误,欢迎大家留言区讨论哈。金九银十冲刺,面试的小伙伴加油呀。1.http请求头里,expire和cachecontrol字段含义,说说HTTP状态码1.1expire和cachecontrol字段含义CacheControl是HTTP1.1的头字段,用来区分对缓存机制的支持情况,请求头和响应头都支持这个属性。通过它提供的不同的值来定义...
我欲只争朝夕
0回复
5377浏览
开发语言
Java并发编程之CAS
在Java并发编程的世界里,synchronized和Lock是控制多线程并发环境下对共享资源同步访问的两大手段。其中Lock是JDK层面的锁机制,是轻量级锁,底层使用大量的自旋+CAS操作实现的。学习并发推荐《Java并发编程的艺术》那什么是CAS呢?CAS,compareandswap,即比较并交换,什么是比较并交换呢?在Lock锁的理念中,采用的是一种乐观锁的形式,即多线程去修改共享资源时,不是在修改之前就加锁,而是乐观的认为没有别的线程和自己争...
baojunzh
0回复
5417浏览
Java
#打卡不停更# Go 云原生实战:如何增加 Web 应用配置模块
原创
精华
1介绍当我们为自己编写程序时,通常会将一些重要的配置项直接写在源代码里,比如:服务器监听的端口、数据库使用的名称和端口号、HTTP请求超时的持续时间...但是,如果我们尝试将这个项目开源分享给他人使用,用户使用的数据库的用户名和名称可能与你不相同,甚至你还要为他们的服务器使用另一个端口。如果你还设置了数据库的密码的话,为了安全,更不可能在代码中信息泄露出来。因此,本节,将介绍如何增加我们的sports应用的...
宇宙之一粟
4回复
8962浏览
云原生
Web开发
Go
#打卡不停更# 鸿蒙开发工具 DevEco Studio 3.0 体验与项目介绍
原创
精华
开发工具介绍HuaWeiDevEcoStudio是基于IntelliJIDEACommunity开源版本打造,面向全场景多设备,提供一站式的应用服务集成开发环境(IDE),支持分布式多端开发、分布式多端调测、多端模拟仿真,提供全方位的质量与安全保障。DevEcoStudio3.0支持HarmonyOS3.0的应用及服务开发,提供了代码智能编辑、低代码开发、界面调试双向预览、全新构建工具、模拟器等功能,同时支持OpenHarmony应用及服务开发。支持Windows和Mac版本,官网...
宇宙之一粟
9回复
1.2w浏览
HarmonyOS
Java
DevEco Studio
#打卡不停更# 从“汽车制造”生活案例到软件的建造者模式
原创
精华
0生活案例沙师弟:“大师兄,车是怎么建成的啊?”大师兄:“从外部看,车由车身、座椅和轮胎,从内部又有引擎、方向盘、电路系统、刹车系统、冷却系统等等组成,这些复杂的部件一般都不是一个厂商来完成的,而是将这些交付给汽车零部件制造商。不同的生产商来最终完成不同部件的生产,采购完整个零部件,最后在车间完成整个组装。”汽车这个复杂的对象就可以通过建造者模式来将部件和组装过程分开,帮我们快速完成汽车的建造。1...
宇宙之一粟
2回复
7057浏览
设计模式
建造者模式
Go
#打卡不停更# Web项目实战之如何创建项目及增加日志功能
原创
精华
从本文开始,我们来看一下如何从零搭建一个Go项目。回顾一下基础的Go项目运行过程首先,新建一个sports的文件,然后键入此文件目录下,选择在终端中打开,使用如下命令初始化项目:gogomodinitsports然后,我们创建一个main.go的文件,写入如下代码:gopackagemainimport"fmt"funcwriteMessage(){fmt.Println("Let'sGo")}funcmain(){writeMessage()}回到终端,编译并执行我们的项目:gorun.就像之前第一次写一个HelloWorld项目一...
宇宙之一粟
4回复
7726浏览
Web
Go
日志
暂无内容
1
30
31
32
33
34
35
36
37
38
81
精选
客服
订阅鸿蒙技术特刊,精选内容抢先看
微信扫码关注,即刻订阅