Java开发
2穿越红尘2
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java中 volatile 关键字的作用
Java 语言提供了一种稍弱的同步机制,即 volatile 变量,用来确保将变量的更新操作通知到其他线程。volatile变量具备两种特性,volatile 变量不会被缓存在寄存器或者对其他处理器不可见的地方,因此在读取 volatile类型的变量时总会返回最新写入的值。特点变量可见性:其一是保证该变量对所有线程可见,这里的可见性指的是当一个线程修改了变量的值,那么新的值对于其他线程...原创 2019-09-15 23:38:05 · 892 阅读 · 0 评论 -
Java如何在两个线程之间共享数据?
Java 里面进行多线程通信的主要方式就是共享内存的方式,共享内存主要的关注点有两个:可见性和有序性原子性。Java内存模型(JMM)解决了可见性和有序性的问题,而锁解决了原子性的问题,理想情况下我们希望做到“同步”和“互斥”。有以下常规实现方法:将数据抽象成一个类,并将对这个数据的操作作为这个类的方法,这么设计可以和容易做到同步,只要在方法上加”synchronized“将R...原创 2019-09-15 23:38:27 · 3166 阅读 · 2 评论 -
Java线程池的原理
一、线程池的特点线程池做的工作主要是控制运行的线程的数量,处理过程中将任务放入队列,然后在线程创建后启动这些任务,如果线程数量超过了最大数量超出数量的线程排队等候,等其它线程执行完毕,再从队列中取出任务来执行。他的主要特点为:线程复用;控制最大并发数;管理线程。二、线程池的原理每一个 Thread 的类都有一个 start 方法。 当调用 start 启动线程时 Java 虚拟机会调用该类的...原创 2019-06-04 00:05:47 · 169 阅读 · 0 评论 -
Java中synchronized 和 ReentrantLock 的区别?
两者的共同点:都是用来协调多线程对共享对象、变量的访问都是可重入锁,同一线程可以多次获得同一个锁都保证了可见性和互斥性两者的不同点:4. ReentrantLock 显示的获得、释放锁,synchronized 隐式获得释放锁5. ReentrantLock 可响应中断、可轮回,synchronized 是不可以响应中断的,为处理锁的不可用性提供了更高的灵活性6. Reentra...原创 2019-06-10 23:09:13 · 1275 阅读 · 1 评论 -
Java线程池工作过程
【Java线程池工作过程】线程池刚创建时,里面没有一个线程。任务队列是作为参数传进来的。不过,就算队列里面有任务,线程池也不会马上执行它们。当调用 execute() 方法添加一个任务时,线程池会做如下判断:a) 如果正在运行的线程数量小于 corePoolSize,那么马上创建线程运行这个任务;b) 如果正在运行的线程数量大于或等于 corePoolSize,那么将这个任务放入队...原创 2019-09-15 23:37:44 · 1010 阅读 · 0 评论 -
SpringMVC动态切换多个数据源解决方案(自测可用)
SpringMVC动态切换多个数据源解决方案1.数据源配置 <!-- 事务 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <propert...原创 2018-03-20 01:14:54 · 7418 阅读 · 5 评论 -
Java字符串转数字(不使用jdk工具方法)
Java字符串转数字不使用jdk自带的转换方法原创 2017-12-08 01:02:52 · 1886 阅读 · 1 评论 -
【James邮件服务器开发】在Linux系统上部署James邮件服务器
1.准备工作 下载james安装包 http://mirrors.cnnic.cn/apache//james/server/james-binary-2.3.2.1.tar.gz 必要的环境JDK 等2.安装过程把James上传到服务器(我上传到了/opt/下) 直接解压apache-james-2.3.2.1.tar.gz 安装包 解压后的文件结构如下:原创 2016-11-21 22:55:56 · 1258 阅读 · 0 评论 -
【JavaMail开发】使javamail-1.4.2 发送邮件时中文附件乱码或显示"??"的解决办法
使用mail-1.4.1.jar发送邮件时中文附件乱码或显示"??"的解决办法.原创 2016-08-18 21:30:22 · 713 阅读 · 0 评论
分享