java
三中故人
这个作者很懒,什么都没留下…
展开
-
Spring 实战 7.3 处理异常
默认情况下,Spring会将自身的一些异常自动转换为合适的状态码,映射关系如下Spring异常 HTTP状态码 BindException 400 - Bad Request ConversionNotSupportedException 500 - Internal Server Error HttpMediaTypeNotAcceptableException 406 - Not Acceptable HttpMediaTypeNotSupportedExce转载 2020-10-13 23:20:40 · 306 阅读 · 0 评论 -
线程状态
从JVM的角度来看,处于Runnable状态的线程正在执行,但实际上它可能正在等待来自操作系统(如处理器)的一些资源。这种状态可以看作是具有两个子状态的复合状态。当线程转换到可运行状态时,线程首先进入Ready子状态。线程调度决定了线程实际上什么时候可以开始运行。yield()是线程调度程序的显式建议,它暂停当前正在执行的线程,以允许其他线程执行。如果线程已经启动并且还没有死亡,那么它就是活的...翻译 2020-04-27 22:12:15 · 188 阅读 · 1 评论 -
idea导入spring framework
下载并配置gradle 4.3.1https://gradle.org/next-steps/?version=4.3.1&format=all下载spring5.0.2RELEASEhttps://github.com/spring-projects/spring-framework/tree/v5.0.2.RELEASE执行命令,由于网络问题可能需要多次才能成功...原创 2020-04-12 22:58:00 · 4051 阅读 · 1 评论 -
修改eclipse对枚举类的格式化
eclipse格式化枚举类时会把所有枚举放一行,这个是可以修改的window->preference->java->code style->formatter,点击edit原创 2018-01-09 11:24:24 · 2135 阅读 · 1 评论 -
Bigdecimal运算及注意事项
常用运算public BigDecimal add(BigDecimal augend)加法public BigDecimal subtract(BigDecimal subtrahend)减法public BigDecimal multiply(BigDecimal multiplicand)乘法public BigDecima原创 2017-07-31 15:22:08 · 3752 阅读 · 0 评论 -
Java序列化
1、先举个例子,包含以下几个类public class Person implements Serializable { private String name; private int age;//get set toString省略}public class Client { public static void main(String[] args) thr...原创 2018-04-08 21:41:59 · 188 阅读 · 0 评论 -
eclipse debug相关使用
debug时查看表达式值,修改变量值Window > Show View > Display打开display窗口选中表达式,ctrl+shift+d展示表达式结果,或者点击如下图标结果就是这样也可以在debug期间修改变量还有一种简单一点的方法修改变量值最后c的值打印的时候就是70原创 2018-04-04 10:03:38 · 558 阅读 · 0 评论 -
spring配置文件中destroy-method标签不起作用
public class PrototypeBean { public PrototypeBean() { System.out.println("PrototypeBean constructor invoke..."); } public void destory() { System.out.println("PrototypeB...原创 2018-12-07 15:44:23 · 4378 阅读 · 3 评论 -
spring使用泛型作为自动装配限定符
java泛型可以作为隐式限定@Componentpublic class Store<T> { private T content; public T getContent() { return content; } public void setContent(T content) { this.conten...原创 2018-12-11 21:07:34 · 821 阅读 · 0 评论 -
idea格式化时出错
idea安装了Eclipse Code Formatter插件,将之前eclipse中的格式化配置文件导出来以后再导入idea中格式化的时候右下角event log会有异常信息Eclipse Formatter configuration error: You must provide either *.importorder file or 'org.eclipse.jdt.ui.p...原创 2018-12-12 11:17:42 · 4708 阅读 · 1 评论 -
Java相关异常记录
1:启动JMeter时出现警告WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.环境:Windows10 jdk1.7解决方法:进入注册表 HKE原创 2018-01-25 10:56:06 · 203 阅读 · 0 评论 -
解决mybatis警告
警告信息WARN 208 --- [ main] o.s.b.f.s.DefaultListableBeanFactory : Bean creation exception on FactoryBean type check: org.springframework.beans.factory.BeanCreationException: Error creati原创 2018-01-12 18:11:49 · 1883 阅读 · 1 评论 -
Java Socket 的工作机制
转自 https://www.ibm.com/developerworks/cn/java/j-lo-javaio/ 原作者还发表过其他高质量文章,有兴趣的可以看看。Socket 这个概念没有对应到一个具体的实体,它是描述计算机之间完成相互通信一种抽象功能。打个比方,可以把 Socket 比作为两个城市之间的交通工具,有了它,就可以在城市之间来回穿梭了。交通工具有多种,每种交通工具也有相应转载 2017-04-28 09:55:10 · 763 阅读 · 0 评论 -
java的字节流与字符流
java的I/O接口提供两种传输数据的数据格式:基于字节操作的接口(InputStream和OutputStream)、基于字符操作的接口(Writer和Reader)。I/O操作最小的存储单元都是字节,也就是说数据持久化及网络传输都是以字节进行的,而不是字符。那么为什么JDK要提供基于字符操作的Writer和Reader的接口呢?原因在于我们在编程过程中通常操作的数据都是字符形式,为了方原创 2017-04-28 09:53:33 · 207 阅读 · 0 评论 -
java中的无锁模式——CAS
CAS(Compare and Swap比较并交换)是一种比较特殊的并发策略,它包含三个参数:原内存值、预期值、新的值。当线程进行操作时先对比原内存值与预期值是否相同,若不同则表明数据发生过变动,当前线程放弃本次数据操作,但是允许再次尝试。当多个线程同时操作时能够保证只有一个线程操作成功,其他线程重新操作或放弃而不会被挂起。整个过程不涉及锁竞争及线程调度带来的开销,性能更优并且天生对死锁免疫。原创 2017-04-28 09:51:42 · 522 阅读 · 0 评论 -
BlockingQueue实现生产者、消费者模式
BlockingQueue可以作为线程间数据共享通道,它会让服务线程在队列为空时进行等待,而当有新消息进入队列后,自动将线程唤醒。向队列添加数据可以使用offer()方法或put()方法,它们都是向队列尾部添加元素,区别在于如果队列满了offer返回false,而put会一直等待。相对的取出元素可以使用poll()方法或take()方法,它们都从队列头部获得一个元素,区别在于如果队列为空p原创 2017-04-28 09:50:32 · 1107 阅读 · 0 评论 -
JUC中常用集合类简介——ConcurrentHashMap
一般我们常用的HashMap并非是线程安全的,而ConcurrentHashMap是一个高效并发的HashMap,可以理解为一个线程安全的HashMap。要得到线程安全的HashMap,一种可行的方法是使用Collections.synchronizedMap(Map m)来包装HashMap,如下:Map map = Collections.synchronizedMap(new原创 2017-04-28 09:49:18 · 719 阅读 · 0 评论 -
简单的例子理解java线程的生命周期
线程的生命周期图如下:线程生命周期这些状态在java.lang.Thread类中是以枚举的形式定义的public enum State {/**至今尚未启动的线程的状态。*/NEW,/**可运行线程的线程状态。处于可运行状态的某一线程正在 Java 虚拟机中运行,但它可能正在等待操作系统中的其他资源,比如处理器。*/RUNNABLE,/**受原创 2017-04-28 09:36:40 · 483 阅读 · 0 评论 -
java多线程一些相关概念
同步和异步:同步方法调用开始后,需等到本次调用有结果才继续往后执行;异步调用发生后,调用者无需等待返回,继续后续执行。举个例子你出去打篮球先到楼下小卖部买瓶水,老板店里现在没货,要去别的地方取,这个时候你要是等老板取到水给你你再去打篮球那这就是同步调用,而要是你跟老板约定水到了以后给你送到篮球场,你自己先去打球,那这个过程就是异步调用。并发和并行:并发偏重于多个任务交替执行,由系统分配原创 2017-04-28 09:34:53 · 283 阅读 · 0 评论 -
eclipse与idea常用快捷键对比
一些常用快捷键在idea和eclipse中的设置,ECLIPSEIDEA说明CTRL+KF3查找下一个CTRL+SHIFT+KSHIFT+F3查找上一个CTRL+HCTRL+SHIFT+F全文搜索CT原创 2017-10-19 16:52:36 · 1043 阅读 · 0 评论 -
jdk版本从1.8切换至1.7
1.修改环境变量值JAVA_HOME指向1.72.修改注册表CurrentVersion至1.7(windows下按开始菜单+R 输入regedit进入)3.使用D:\Program Files\Java\jdk1.7.0_79\bin文件夹下的java.exe javaw.exe javaws.exe覆盖C:\Windows\System32文件夹下同名文件以上三步应该就可以原创 2017-07-06 14:32:14 · 1027 阅读 · 0 评论