首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
java
订阅
oceanuslion
更多收藏集
微信扫码分享
微信
新浪微博
QQ
58篇文章 · 0订阅
MyBatis 史诗级裹脚布可以烧了!!!
如果你也受够了在 XML 标签里写逻辑,受够了为了一个简单的非空判断就要写三行 XML,那么请继续往下看。dbVisitor 的动态 SQL 规则机制,也许就是你一直在寻找的"剪刀"。
【qdox】Java 代码解析利器 QDox
最近在写 maven 插件,涉及到了 java 代码解析这块内容。需要解析 java 源码,然后对于类中的不同部分进行处理。发现手写还是很难的,找了一圈发现了两个不错的工具可以使用,一个是 javaparser,另一个是 qdox 。个人感觉 javaparser 强大一些,更…
业务复杂=if else?刚来的大神竟然用策略+工厂彻底干掉了他们!
对于业务开发来说,业务逻辑的复杂是必然的,随着业务发展,需求只会越来越复杂,为了考虑到各种各样的情况,代码中不可避免的会出现很多if-else。 一旦代码中if-else过多,就会大大的影响其可读性和可维护性。 首先可读性,不言而喻,过多的if-else代码和嵌套,会使阅读代…
四张图带你了解Tomcat系统架构--让面试官颤抖的Tomcat回答系列!
俗话说,站在巨人的肩膀上看世界,一般学习的时候也是先总览一下整体,然后逐个部分个个击破,最后形成思路,了解具体细节,Tomcat的结构很复杂,但是 Tomcat 非常的模块化,找到了 Tomcat最核心的模块,问题才可以游刃而解,了解了Tomcat的整体架构对以后深入了解Tom…
一个正则表达式引发的血案,让线上CPU100%异常!
前几天线上一个项目监控信息突然报告异常,上到机器上后查看相关资源的使用情况,发现 CPU 利用率将近 100%。通过 Java 自带的线程 Dump 工具,我们导出了出问题的堆栈信息。 我们可以看到所有的堆栈都指向了一个名为 validateUrl 的方法,这样的报错信息在堆栈…
基于 CodeIgniter 构建 JWT RESTfull API Server #2
介绍如何使用 PHP-JWT 生成 TOKEN 、校验 TOKEN,如何编写钩子函数,通过校验 TOKEN 的合法性保护相对应的 API Router,以及如何使用 codeigniter-restserver 编写 API 接口等。
【嗅探底层】你知道Synchronized作用是同步加锁,可你知道它在JVM中是如何实现的吗?
我们可以利用synchronized关键字来对程序进行加锁。它既可以用来声明一个synchronized代码块,也可以直接标记静态方法或者实例方法。 当谈到synchronized时,我们有必要了解字节码中的monitorenter和monitorexit指令。 这两种指令均会…
并发编程——ConcurrentHashMap#transfer() 扩容逐行分析
ConcurrentHashMap 是并发中的重中之重,也是最常用的数据结果,之前的文章中,我们介绍了 putVal 方法。并发编程之 ConcurrentHashMap(JDK 1.8) putVal 源码分析。其中分析了 initTable 方法和 putVal 方法,但也…
通过分析LinkedHashMap了解LRU
我们都知道LRU是最近最少使用,根据数据的历史访问记录来进行淘汰数据的。其核心思想是如果数据最近被访问过,那么将来访问的几率也更高。在这里提一下,Redis缓存和MyBatis二级缓存更新策略算法中就有LRU。画外音:LFU是频率最少使用,根据数据历史访问的频率来进行淘汰数据。…
手把手带你体验Stream流
从代码量上可以明显看出,用Stream流的方式会少一些。 我理解的Stream流编程就是:某些场景会经常用到操作(求和/去重/过滤....等等),已经封装好API给你了,你自己别写了,调我给你提供的API就好了。 如果我们想要for循环的内部支持并发的话,显然不太好去写。但使用…