上一页 1 ··· 41 42 43 44 45 46 47 48 49 ··· 55 下一页
摘要: 向线程池提交任务时,线程池的执行逻辑如下: 当一个任务被提交后,线程池首先检查正在运行的线程数是否达到核心线程数,如果未达到则创建一个线程。 如果线程池内正在运行的线程数已经达到了核心线程数,任务将会被放到 BlockingQueue 内。 如果 BlockingQueue 已满,线程池将会尝试将线 阅读全文
posted @ 2021-05-13 17:27 KLAPT 阅读(58) 评论(0) 推荐(0)
摘要: Git是一个分布式代码管理工具 中央式:所有的代码保存在中央服务器,所以提交必须依赖网络,并且每次提交都会带入到中央仓库,如果是协同开发可能频繁触发代码合并,进而增加提交的成本和代价。最典型的就是svn 分布式:可以在本地提交,不需要依赖网络,并且会将每次提交自动备份到本地。每个开发者都可以把远程仓 阅读全文
posted @ 2021-05-13 17:15 KLAPT 阅读(58) 评论(0) 推荐(0)
摘要: 从 Java 8 引入的一个很有趣的特性是 Optional 类。Optional 类主要解决的问题是臭名昭著的空指针异常(NullPointerException) —— 每个 Java 程序员都非常了解的异常。 使用 of() 和 ofNullable() 方法创建包含值的 Optional。两 阅读全文
posted @ 2021-05-12 20:57 KLAPT 阅读(137) 评论(0) 推荐(0)
摘要: AOP 为 Aspect Oriented Programming 的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。 目前已有的几款AOP框架 阅读全文
posted @ 2021-05-12 20:30 KLAPT 阅读(103) 评论(0) 推荐(0)
摘要: 其核心思想就是:使用一个 64 bit 的 long 型的数字作为全局唯一 ID。这 64 个 bit 中,其中 1 个 bit 是不用的,然后用其中的 41 bit 作为毫秒数,用 10 bit 作为工作机器 ID,12 bit 作为序列号。 第一个部分是 1 个 bit:0,这个是无意义的。 第 阅读全文
posted @ 2021-05-10 16:38 KLAPT 阅读(582) 评论(0) 推荐(0)
摘要: 导致卡顿问题的几种原因: 复杂 UI 、图文混排的绘制量过大; 在主线程上做网络同步请求; 在主线程做大量的 IO 操作; 运算量过大,CPU 持续高占用; 死锁和主子线程抢锁。 FPS 是一秒显示的帧数,也就是一秒内画面变化数量。当FPS达到60,说明界面很流程,当FPS低于24,页面流畅度不是那 阅读全文
posted @ 2021-05-10 16:10 KLAPT 阅读(75) 评论(0) 推荐(0)
摘要: 守护线程是为用户线程服务的,当一个程序中的所有用户线程都执行完成之后程序就会结束运行,程序结束运行时不会管守护线程是否正在运行,由此我们可以看出守护线程在 Java 体系中权重是比较低的。当一个程序中的所有用户线程都结束之后,无论守护线程是否在工作都会跟随用户线程一起结束。守护线程从业务逻辑层面来看 阅读全文
posted @ 2021-05-06 10:50 KLAPT 阅读(135) 评论(0) 推荐(0)
摘要: 1、若在 finally 中使用 return,那么即使 try-catch 中有 return 操作,也不会立马返回结果,而是再执行完 finally 中的语句再返回。此时问题就产生了:如果 finally 中存在 return 语句,则会直接返回 finally 中的结果,从而无情的丢弃了 tr 阅读全文
posted @ 2021-04-28 20:54 KLAPT 阅读(61) 评论(0) 推荐(0)
摘要: commons 包的 BeanUtils 进行属性拷贝性能较差;Spring 的 BeanUtils 性能相对较好。 public class A { private String name; private List<Integer> ids;} public class B { private 阅读全文
posted @ 2021-04-28 20:18 KLAPT 阅读(131) 评论(0) 推荐(0)
摘要: 1,标准写法 lambda表达式的标准写法由下面几点构成: 以逗号分隔,以()关闭的形参: 箭头标记:-> 主体部分则是一个单表达式或者声明代码块。如下是单表达式形式:Integer.compare(m.getWeight(), n.getWeight()) 2,参数类型可以推断: 如果参数的类型可 阅读全文
posted @ 2021-04-27 20:45 KLAPT 阅读(88) 评论(0) 推荐(0)
上一页 1 ··· 41 42 43 44 45 46 47 48 49 ··· 55 下一页