首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
技术
码农镖局
创建于2022-10-17
订阅专栏
学习,钻研,热爱,分享,用代码改变世界,以技术丰盈人生
等 31 人订阅
共110篇文章
创建于2022-10-17
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Spring Security(1)
早期的RBAC作为一个相对独立的开发内容,工作量其实还是比较大的,而且必须考虑到一些动态的变化,所以安全性、稳定性都没办法得到100%的保证。于是Spring Security出现了。
Java新特性(2):Java 10以后
虽然到目前为止Java的版本更新还没有什么惊天动地的改变,但总是会冒出一些有趣的小玩意。前面列举了Java9和Java10的一些特色,现在接着来撸一撸Java11之后的新奇特。
Java新特性(1):Java 9和Java10
自从Java在2009年被Oracle收购之后,就不再开源,除了Oracle官方发布的版本之外,还有OpenJDK版本,这两者的区别可以自行找某度去搞明白。通常情况下,OpenJDK开发已经足够了。
Java反应式编程(3)
把vert.x框架给跑起来之后,肯定需要增加接口的,因为实际开发中服务端是需要响应客户端的请求的。但是该怎么加呢?
Java反应式编程(2)
学习编程,或者说学习Java的同学,也不是全都要把面向对象编程OOP搞懂了才能往下学的吧,之前的OFP也是一样,现在轮到ORP这种编程范式也还是这样的。
Java反应式编程(1)
Lambda表达式和流式编程的出现,又催生了另一门新的技术:反应式编程,它是融合了Lambda表达式、流式编程和观察者模式的一种新的编程范式。
Java组合异步编程(2)
多数码农在开发的时候,要么处理同步应用,要么处理异步。但是如果能学会使用CompletableFuture,就会具备一种神奇的能力:将同步变为异步(有点像用了月光宝盒后同时穿梭在好几个时空的感觉)。
Java组合异步编程(1)
如果李雷有好几个不懂的问题,分别问了韩梅梅、赵梅梅、魏梅梅,而且需要答案之间有先后顺序怎么办呢?(比如要先得到韩梅梅的答案,再拿到赵梅梅的答案才有用)也就是对这种有多个「异步」任务的情况,该如何处理?
Java函数式编程(2):流式计算
Lambda表达式虽然将接口作为代码块赋值给了变量,但如果仅仅只是Lambda表达式,还无法让Java由量变引起质变。真正让Lambda能够发挥出巨大威力的,就是流式计算。
Java函数式编程(1):Lambda表达式(2)
很多刚开始学习Lambda表达式的人之所以觉得比较难适应,是因为没有弄明白完整的匿名函数是如何进行简化的这个过程。我个人的学习经验是,只要脑子里时时记着:Lambda是对匿名函数的简化,就会容易理解。
Java多线程(7):JUC(下)
除了四种常见的同步器(发令枪、摇号器、栅栏和交换机),JUC还有所谓线程安全的容器、阻塞队列和一些特殊的类。与其说这是两个大的分类,还不如说它就是两个用得最多的两个Java类。
Java多线程(7):JUC(上)
前面把线程相关的生命周期、关键字、线程池(ThreadPool)、ThreadLocal、CAS、锁和AQS都讲完了,现在就剩下怎么来用多线程了。而要想用好多线程,其实是可以取一些巧的,比如JUC。
Java多线程(6):锁与AQS(下)
接下来用AQS来实现一个实际的生活场景。比如周末带女票或男票去步行街吃饭,这时候人特别多,需要摇号,而且一次只能进去三张号(不按人头算,按叫到的号来算),该怎么实现呢?
Java多线程(6):锁与AQS(上)
在Java面试中,有一类高频问题会经常问到(火箭式问题):Java有几种锁?都是干嘛的?我想对于面试经验较为丰富的人,这个问题极有可能遇到过。
Java多线程(5):CAS
CAS是Compare And Swap(比较与交换)的缩写,它用于实现多线程同步的原子指令,无需担心其他线程同时修改变量。说人话,意思就是它的操作过程足够细微,以至于多线程都奈何不了它。
Java多线程(4):ThreadLocal
有了线程关键字解决线程安全问题,有了线程池解决效率问题,那还有什么问题是可以需要被解决的呢?——还真被这帮疯子攻城狮给找到了!
Java多线程(3):ThreadPool(下)
除了可以通过ThreadPoolExecutor自定义线程池外,同Stream API中的Collectors一样,Executors类也提供了线程池工具,可以直接拿来用,不用考虑什么队列合适的问题。
Java多线程(3):ThreadPool(中)
线程池是个神器,用得好会非常地方便。其实主要是把常用那几个workQueue搞搞清楚,尤其是ArrayBlockingQueue,它和后面会说的另两个神器,可以说是「线程三宝」。
Java多线程(3):ThreadPool(上)
一个线程的完整生命周期包括创建T1 + 运行T2 + 销毁T3。实际上T1 + T3的开销远远大于T2,如果有大量的并发请求,就会大大降低系统效率,严重影响系统性能,这就是为什么会引入线程池原因了。
下一页