
java
文章平均质量分 53
Wl_皮囊
这个作者很懒,什么都没留下…
展开
-
CountDownLatch 和 CyclicBarrier的区别与详解
一.CountDownLatch 和 CyclicBarrier的区别CountDownLatch 的计数器是大于或等于线程数的,而CyclicBarrier是一定等于线程数CountDownLatch 放行由其他线程控制而CyclicBarrier是由本身来控制的二.详解CountDownLatch说明: 一个线程等待其他线程执行完之后再执行,相当于加强版的join,在初始化Cou...原创 2020-03-17 15:09:51 · 10330 阅读 · 1 评论 -
并发编程(5)—— 常用方法
上一篇:并发编程(4)—— 线程的生命周期一、线程优先级(1-10 缺省值5)在不同的操作系统中,设置线程优先级是一个不稳定的,因为有的操作系统会忽略调优先级的设置,使用方式: thread.setPriority(int newPriority);二、守护线程守护线程和主线程是共死的,主线程退出,守护线程肯定会退出,守护线程一般做的是支持行工作,例如内存方面的回收,对资源的清理;测试代...原创 2019-06-28 18:04:06 · 334 阅读 · 1 评论 -
Spring Boot 配置solr
直接贴代码1.pom.xml<!-- 添加solr依赖 --> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-solr</artifactId&g...原创 2019-01-23 11:39:54 · 643 阅读 · 4 评论 -
并发编程(4)—— 线程的生命周期
我们都知道线程是操作系统能够进行运算调度的最下单位,在Java中的线程其实就是对操作系统的的线程进行的封装。今天我们就来说说线程的生命周期,也就是线程的生老病死。java线程的生命周期分五个周期(也有人说六种waiting状态)New 创建线程(初始化状态)。Runnable(就绪/可运行状态)。Running(运行中)Blocked(阻塞状态)。Death(死亡状态/终止状态)...原创 2019-06-27 16:42:13 · 260 阅读 · 0 评论 -
并发编程(3)——interrupt()中断线程
线程既然又开始,那么就有结束,那我们如和来结束一个线程呢?线程执行结束,自然终止。线程内抛出未处理异常。jdk早期有几个方法来结束或暂停线程stop() :会导致线程不会正确释放资源。resume() :恢复线程的执行,如果此方法出现在suspend()方法前,那么线程会一直处于挂起状态,并一直占用锁,而造成死锁,而且被挂起的线程状态还是Runnable;suspend() :暂...原创 2019-06-24 15:17:18 · 348 阅读 · 0 评论 -
并发编程(2)—— 创建线程的方式
上一篇:并发编程(1)—— 基础概念创建线程的方式继承Thread类实现Runnable接口实现Callable接口,配合FutureTask一、继承Thread类public class NewThred { public static void main(String[] args) { Thread testThread = new TestThr...原创 2019-06-21 14:47:43 · 157 阅读 · 0 评论 -
并发编程(1)—— 基础概念
一、 并行和并发的区别并行(parallelism): 是同一时刻,两个线程都在执行。(同一时刻,可以同时处理事情的能力)并发(concurrency): 是同一时刻,只有一个执行,但是一个时间段内,两个线程都执行了。(与单位时间相关,在单位时间内可以处理事情的能力)并行:例:一个食堂有8个窗口,那么在同一时间内可允许8个人同时打饭,那么说明这个食堂的并行度为 8并发:例:一个食堂有...原创 2019-06-21 14:13:08 · 226 阅读 · 0 评论 -
JDK1.8 新特性之 一 stream,Optional
为什么需要 StreamStream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念。它也不同于 StAX 对 XML 解析的 Stream,也不是 Amazon Kinesis 对大数据实时处理的 Stream。Java 8 中的 Stream 是对集合(Collection)对象功能的增强,它专注于对集合对...原创 2019-06-20 17:02:36 · 403 阅读 · 0 评论 -
Spring Boot --基础入门(2) 集成mybatis,jsp, thymeleaf及静态资源访问
上篇文章https://blog.youkuaiyun.com/wl_ang/article/details/90768543介绍了创建简单的springBoot项目,今天这篇讲在项目当中配置其他的东西1.集成mybatis2.事务的使用3.全局异常及404处理4.集成jsp和thymeleaf模板5.静态资源访问一.集成mybatis1,pom.xml2.在reso...原创 2019-06-04 15:49:08 · 267 阅读 · 0 评论 -
Spring Boot -----基础入门
SpringBoot介绍:Spring Boot使开发独立的,产品级别的基于Spring的应用变得非常简单,你只需"just run"。 我们为Spring平台及第三方库提供开箱即用的设置,这样你就可以有条不紊地开始。多数Spring Boot应用需要很少的Spring配置。你可以使用Spring Boot创建Java应用,并使用java -jar启动它或采用传统的war部署方式。解决的问...原创 2019-06-04 14:52:41 · 3178 阅读 · 0 评论 -
Java并发包concurrent——ConcurrentHashMap
ConcurrentHashMap从JDK1.5开始随java.util.concurrent包一起引入JDK中,主要为了解决HashMap线程不安全和Hashtable效率不高的问题。众所周知,HashMap在多线程编程中是线程不安全的,而Hashtable由于使用了synchronized修饰方法而导致执行效率不高;因此,在concurrent包中,实现了ConcurrentHashMap以使...转载 2019-06-19 15:29:13 · 353 阅读 · 0 评论 -
JAVA配置 ip2region IP库 IP地址查询
1、添加依赖<dependency> <groupId>org.lionsoul</groupId> <artifactId>ip2region</artifactId> <version>1.7</version></dependency>2、工具类原创 2019-01-30 18:25:53 · 1865 阅读 · 0 评论 -
linux 配置JDK
JDK 1.8 百度网盘下载地址:https://pan.baidu.com/s/1YUdmgHvKdUxjrEnNk_ynPw 提取码:keit以下链接为安装流程:https://www.cnblogs.com/Dylansuns/p/6974272.html翻译 2019-01-30 14:34:46 · 132 阅读 · 0 评论 -
tomcat cpu暴涨的原因之一及其解决方法
当你使用tomcat部署web系统时,过了一段时间发现cpu暴涨,你不防试试下面的方法,看看是否程序内的死循环导致cpu暴涨。第一步:增加tomcat监控对外端口在你的tomcat的bin目录下找到catalina.sh在cygwin=false 上一行JAVA_OPTS="-server -Djava.security.egd=file:/dev/./urandom -Xms512...原创 2018-10-15 15:45:48 · 3733 阅读 · 0 评论 -
freemarker数字输出中带有逗号问题
一、第一种方式在action中map.put("mynum",1200),在ftl模板中${mynum}取值时会显示成1,2000,会用逗号分隔。解决办法:${mynum?c}。 取值时加上?c即可。二、第二种方式直接在配置文件(application.yml)中加number_format=0...原创 2018-08-06 17:26:00 · 3645 阅读 · 0 评论 -
java cpu占用过高分析
Jstack分析高负载的Java线程http://www.badnotes.com/2014/11/02/jstack/1. top查看高负载的进程查看进程toptop - 05:48:13 up 299 days, 21:59, 2 users, load average: 9.00, 8.99, 9.03 Tasks: 78 total, 1 running, 77 ...原创 2018-07-17 10:16:05 · 9192 阅读 · 1 评论