首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Java
订阅
小宇专属
更多收藏集
微信扫码分享
微信
新浪微博
QQ
15篇文章 · 0订阅
阿里Java开发手册思考(二)
适用场景:复杂的条件语句。如果发现嵌套的条件逻辑,先观察是否可以使用卫语句,如果不行,再开始分解其中的每个条件 在一系列布尔表达式中,某个变量带有“控制标记(Flag)”的作用,以break语句或者return语句取代控制标记。
阿里Java开发手册思考(三)
Log4j Apache Log4j是一个基于Java的日志记录工具。它是由Ceki Gülcü首创的,现在则是Apache软件基金会的一个项目。 Log4j 2 Apache Log4j 2是apache开发的一款Log4j的升级产品。 Commons Logging Apa…
Tomcat 7 启动分析(一)启动脚本
在上一篇文章《源代码运行环境搭建》里是通过直接运行 BootStarp 的 main 函数来启动的,只是加了一个 catalina.home 的系统属性。而正常情况下启动 Tomcat 是通过运行脚本的方式,这个就涉及到建立工程时拷贝过来的 script 目录下的一堆脚本文件了…
Java 8 并发: Threads 和 Executors
Java 5 初次引入了Concurrency API,并在随后的发布版本中不断优化和改进。这篇文章的大部分概念也适用于老的版本。我的代码示例主要聚焦在Java 8上,并大量适用 lambda 表达式和一些新特性。如果你还不熟悉 lambda 表达式,建议先阅读 Java 8 …
Java 异常处理的 9 个最佳实践
这可能是该文章中最常被忽略的最佳实践。 你可以找到很多的其中有一个异常被捕获的代码片段,甚至是一些代码库,被记录和重新抛出。在发生异常时记录异常可能会感觉很直观,然后重新抛出异常,以便调用者可以适当地处理异常。但它会为同一个异常重复写入多个错误消息。
阿里Java开发手册思考(一)
护困难,请勿超过 3 层。
Java 8 并发:同步和锁
当我们编写多线程代码访问可共享的变量时需要特别注意,下面是一个多线程去改变一个整数的例子。 定义一个变量 count,定义一个方法 increment() 使 count 增加 1. 上面的代码执行结果并不是10000,原因是我们在不同的线程上共享一个变量,而没有给这个变量的访…
并发编程锁之synchronized总结
并发编程中数据同步需要依赖锁进行控制,上篇博文通过ReentrantLock源码分析也对Lock实现锁机制的大致原理有了一个了解,Lock主要是通过编码的方式实现锁,其核心就是:CAS+循环,CAS原子操作需要依赖底层硬件层特殊的CPU指令。这节我们来看下Java中另一种非常常…
Java8 HashMap源码分析
HashMap是基于hash表的map的实现,使用key-value形式存储键值对,并允许使用 null 值和 null 键,但是key只能有一个为null. Map不保证映射的顺序,其内部是根据hash值去模运算去排列的。HashMap内部使用entry数组作为存储的介质. …
Spring源码系列:依赖注入(二)createBean
在Spring源码系列:依赖注入(一)(AbstractBeanFactory-getBean)最后说道getBean是依赖注入的起点,bean的创建都是通过createBean来完成具体的创建的。createBean的具体实现是在AbstractAutowireCapable…