- 博客(14)
- 资源 (12)
- 论坛 (2)
- 收藏
- 关注
原创 JAVA线程间协作:wait.notify.notifyAll
欢迎支持笔者新作:《深入理解Kafka:核心设计与实践原理》和《RabbitMQ实战指南》,同时欢迎关注笔者的微信公众号:朱小厮的博客。 JAVA的进程同步是通过synchronized()来实现的,需要说明的是,JAVA的synchronized()方法类似于操作系统概念中的互斥内存块,在JAVA中的Object类型中,都是带有一个内存锁的,在有线程获取该内存锁后,其它线程...
2015-12-31 10:39:13
7512
7
转载 singleton模式四种线程安全的实现
欢迎支持笔者新作:《深入理解Kafka:核心设计与实践原理》和《RabbitMQ实战指南》,同时欢迎关注笔者的微信公众号:朱小厮的博客。 1.描述: Singleton(单例)是设计模式的一种,为了保证一个类仅有一个实例,并提供一个访问它的全局访问点。 2.主要特点: 1)单例类确保自己只有一个实例(构造函数私有:不被外部实例化,也不被继承)。...
2015-12-29 15:30:43
16308
5
原创 JAVA多线程之UncaughtExceptionHandler——处理非正常的线程中止
欢迎支持笔者新作:《深入理解Kafka:核心设计与实践原理》和《RabbitMQ实战指南》,同时欢迎关注笔者的微信公众号:朱小厮的博客。当单线程的程序发生一个未捕获的异常时我们可以采用try....catch进行异常的捕获,但是在多线程环境中,线程抛出的异常是不能用try....catch捕获的,这样就有可能导致一些问题的出现,比如异常的时候无法回收一些系统资源,或者没有关闭当前的...
2015-12-28 11:29:44
28263
14
原创 JAVA多线程之扩展ThreadPoolExecutor
欢迎支持笔者新作:《深入理解Kafka:核心设计与实践原理》和《RabbitMQ实战指南》,同时欢迎关注笔者的微信公众号:朱小厮的博客。ThreadPoolExecutor是可扩展的,通过查看源码可以发现,它提供了几个可以在子类化中改写的方法:beforeExecute,afterExecute,terminated.源码片段如下所示:protected void ...
2015-12-25 16:28:39
10876
9
原创 JAVA虚拟机关闭钩子(Shutdown Hook)
欢迎支持笔者新作:《深入理解Kafka:核心设计与实践原理》和《RabbitMQ实战指南》,同时欢迎关注笔者的微信公众号:朱小厮的博客。Java程序经常也会遇到进程挂掉的情况,一些状态没有正确的保存下来,这时候就需要在JVM关掉的时候执行一些清理现场的代码。JAVA中的ShutdownHook提供了比较好的方案。JDK提供了Java.Runtime.addShutdownHoo...
2015-12-24 15:48:54
34633
9
原创 Java守护线程概述
欢迎支持笔者新作:《深入理解Kafka:核心设计与实践原理》和《RabbitMQ实战指南》,同时欢迎关注笔者的微信公众号:朱小厮的博客。Java的线程分为两种:User Thread(用户线程)、DaemonThread(守护线程)。只要当前JVM实例中尚存任何一个非守护线程没有结束,守护线程就全部工作;只有当最后一个非守护线程结束是,守护线程随着JVM一同结束工作,Daemo...
2015-12-24 09:46:01
8630
1
原创 MySql数据库连接超时处理
欢迎支持笔者新作:《深入理解Kafka:核心设计与实践原理》和《RabbitMQ实战指南》,同时欢迎关注笔者的微信公众号:朱小厮的博客。博主在做web开发时遇到MySql数据库连接超时的问题。控制台报错如下:Request processing failed; nested exception is org.springframework.transaction.Canno...
2015-12-22 08:55:33
10316
1
原创 Java中如何遍历Map对象
欢迎支持笔者新作:《深入理解Kafka:核心设计与实践原理》和《RabbitMQ实战指南》,同时欢迎关注笔者的微信公众号:朱小厮的博客。博主有时会忘记如何遍历Map对象,这次在这里做一下总结。博主采用的是JDK7,先看一下JDK7中Map接口的定义。java.utilInterface Map<K,V> 类型参数: K - the type...
2015-12-14 15:04:12
9882
1
原创 SpringMVC中@ResponseBody的相关注意点
欢迎支持笔者新作:《深入理解Kafka:核心设计与实践原理》和《RabbitMQ实战指南》,同时欢迎关注笔者的微信公众号:朱小厮的博客。博主习惯性用SpringMVC的@ResponseBody注解返回JSON字符串,原先采用的方法是GSON将对象转换成json字符串。(需要引入gson-2.x.x.jar的jar包) @ResponseBody @Reques...
2015-12-09 15:05:29
10325
原创 JAVA通信编程(五)——串口通讯的补充说明
欢迎支持笔者新作:《深入理解Kafka:核心设计与实践原理》和《RabbitMQ实战指南》,同时欢迎关注笔者的微信公众号:朱小厮的博客。 在《JAVA通讯编程(一)——串口通讯》中讲述了如何采用JAVA进行串口通讯,我们采用的是引入RXTXComm.jar的方式,关于这个我有两点需要说明补充。首先,现在的笔记本一般都不带串口,需要usb转串口之类的工具才能进行通讯,这样对调试程序...
2015-12-08 10:04:46
4324
原创 JAVA通信编程(四)——UDP通讯
欢迎支持笔者新作:《深入理解Kafka:核心设计与实践原理》和《RabbitMQ实战指南》,同时欢迎关注笔者的微信公众号:朱小厮的博客。经过TCP和串口通讯编程的了解,相信大家应该掌握CommBuff的套路了,这里首先展示的是通过UDP编程的方式实现CommBuff接口,之后通过简单工厂模式的应用说明如何屏蔽底层通讯差异。UdpImpl类如下:package com...
2015-12-05 16:29:56
3839
4
原创 JAVA通信编程(三)——TCP通讯
欢迎支持笔者新作:《深入理解Kafka:核心设计与实践原理》和《RabbitMQ实战指南》,同时欢迎关注笔者的微信公众号:朱小厮的博客。继上一篇小插曲之后继续回到正题,本篇讲述的是java的TCP通讯。TCP编程分为server端和client端,一般在网上都能搜到相关的例子,为了方便大家,我这里先整理下server端和client端的应用案例,然后再根据在本系列中第一篇串口...
2015-12-05 15:57:23
5116
原创 JAVA通信编程(二)——如何读取java的properties配置文件(插播)
欢迎支持笔者新作:《深入理解Kafka:核心设计与实践原理》和《RabbitMQ实战指南》,同时欢迎关注笔者的微信公众号:朱小厮的博客。如何读取java的properties配置文件本不属于java通讯编程这个系列的范畴,但是在做一些应用中编写通讯编程需要读取一些通讯参数,这样可以使程序更加的通用化。并且博主在读取properties文件中遇到了点小坑,在这里说明一下,防止各位读者...
2015-12-05 11:11:38
3381
原创 JAVA通信编程(一)——串口通讯
欢迎支持笔者新作:《深入理解Kafka:核心设计与实践原理》和《RabbitMQ实战指南》,同时欢迎关注笔者的微信公众号:朱小厮的博客。 博主结合实际经验,决定总结下JAVA通讯编程的一些小知识,希望能给给位读者有些帮助。这里的JAVA通讯编程主要是指如何应用JAVA编写串口、TCP以及UDP的通讯程序。本片主要讲述的是串口通讯。 本人所知的java串口通讯可以采用两种方...
2015-12-04 17:54:33
6376
1
序列化工具(Gson, Jackson, FastJson, ProtoBuf)
2016-02-23
spring+activemq必备jar包
2016-04-15
朱小厮的留言板
发表于 2020-01-02 最后回复 2020-01-02
linux 程序如何解析shell中的#
发表于 2015-10-15 最后回复 2015-10-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝