
java
lqly
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
一份经典多线程并发面试题!
一 面试中关于 synchronized 关键字的 5 连击https://www.jianshu.com/p/34ae0142ebcb1.1 说一说自己对于 synchronized 关键字的了解synchronized关键字解决的是多个线程之间访问资源的同步性,synchronized关键字可以保证被它修饰的方法或者代码块在任意时刻只能有一个线程执行。另外,在 Java 早期版本中,synchronized属于重量级锁,效率低下,因为监视器锁(monitor)是依赖于底层的操作系统的 M原创 2020-05-11 20:54:58 · 215 阅读 · 0 评论 -
在Tomcat中开启JVM GC日志收集
在Tomcat中开启JVM GC日志收集泊浮目0.7632017.06.11 19:40:57字数 673阅读 6,756Tomcat环境变量设置在tomcat的安装目录的bin目录下,编辑一个名为setenv.sh的文件(如果没有请创建),在环境变量名字为 CATALINA_OPTS的变量其中添加:XX:+PrintGCTimeStamps -XX:+PrintGCDe...原创 2020-03-28 07:41:45 · 1283 阅读 · 0 评论 -
字符流 InputStream OutputStream
原创 2019-12-04 15:17:39 · 123 阅读 · 0 评论 -
Map
原创 2019-12-03 16:53:42 · 133 阅读 · 0 评论 -
HashSet TreeSet Iterator迭代器
获取一个迭代器 iterator(); 应为没有get 方法 无法取集合元素,需要迭代HashSet set=new HashSet();Iterator<T> itr=set.iterator();//Iterator 接口 多态while(itr.hasNext()){//输出}HashSet 无序 不可重复 无重复的原则: 对...原创 2019-12-03 10:49:10 · 400 阅读 · 0 评论 -
String StringBuild StringBuffer
字符串相关类:String : 非常特殊的类,可以像常量创建对象String str="abc"; 内存存储 “abc ”对象 char[] valueString 不可变性 private final char[] value频繁的修改内容性能不好str=str.concat("a"); 会比+号效率好-- ------------------...原创 2019-12-02 16:02:15 · 176 阅读 · 0 评论 -
JAVA 集合 LinkedHashSet (七)
LinkedHashSet 也是根据元素的hashcode值决定元素的存储位置,但同时使用链表维护元素的次序,这样使得元素看起来是按照插入的顺序保存的。当变量LinkedHashSet 集合中的元素时,将会按照元素的添加顺序来访问集合中的 元素。LinkedHashSet 需要维护插入的顺序,所有性能比HashSet低,但在迭代访问Set里的元素时性能比较好。LinkedHashSe...原创 2019-03-28 10:46:29 · 131 阅读 · 0 评论 -
JAVA 集合 TreeSet (八)
TreeSet 是SortedSet接口的实现类,TreeSet可以确保集合元素处于排序状态,与HashSet相比,TreeSet 提供了如果几个额外的方法。1. TreeSet 类方法Comparator comparator():如果TreeSet 采用了定制排序,则返回定制排序所使用的Comparator ,如果采用自然排序,返回null Object first():返回集合中...原创 2019-03-28 11:52:44 · 197 阅读 · 0 评论 -
Java 定时任务实现原理详解 Timer(一)
在jdk自带的库中,有两种技术可以实现定时任务。一种是使用Timer,另外一个则是ScheduledThreadPoolExecutor。下面为大家分析一下这两个技术的底层实现原理以及各自的优缺点。package java.util;Timer 可以创建一次Timer 对象 ,但可以多次调用schedule(方法)添加任务到队列。 由TimerThread 线程循环执行队列中的任务。...转载 2019-05-24 09:59:57 · 861 阅读 · 0 评论 -
JAVA 集合 Set HashSet TreeSet (六)
Set 基本与Collection 相同,没有提供额外的方法,实际上Set就是Collection ,只是行为略有不同(Set不允许包含重复元素)重点介绍HashSet和TreeSet,这两种Set是日常工作中用的比较多的,在面试的过程中也会涉及。目录HashSet 通过hashcod保存 访问 查询速度比较快,效率比较高TreeSet补充: 如果向HashSet中添加可...转载 2019-03-27 17:28:39 · 148 阅读 · 0 评论 -
JAVA 集合 遍历集合(五)
一 :使用Lambda 表达式遍历集合Java8为Iterable 接口新增一个forEach(Consumer action) 默认方法,该方法所需的 参数是一个函数式接口,Iterable 是Collection 的父接口,所有Collection 集合也可以调用该方法public class TestCollection { @Test public void te...原创 2019-03-27 16:06:44 · 139 阅读 · 0 评论 -
JAVA 集合Collection 和 Iterator(四)
Collection 定义的方法boolean add(Object o) :向集合中添加一个元素,如果添加成功,返回trueboolean addAll(Collection c):把集合c中的所有 元素添加到指定集合中,添加成功返回truevoid clear():清除集合中所有元素,集合长度变为0boolean contains(Object o):返回集合中是否包含...原创 2019-03-27 15:39:48 · 137 阅读 · 0 评论 -
JAVA 集合(三)
Set 和List接口是Collection接口派生的 两个子接口,set代表无序集合,List代表有序集合;Queue 是java提供的队列实现,有点类似List。Map 实现类用于保存具有映射关系的数据Map保存的每项数据都是key-value对,key 不可重复,key用于标识集合中的每项数据。...原创 2019-03-27 15:21:52 · 108 阅读 · 0 评论 -
JAVA 集合(二)
Java的集合类主要由两个接口派生出:Collection 和Map,是Java集合框架的根接口。 Collection...原创 2019-03-27 15:10:52 · 179 阅读 · 0 评论 -
JAVA 集合(一)
java 集合大概可分为Set List Queue 和Map 四种体系Set 代表无序 不可重复的集合List 代表有序 重复的集合Map 代表具有映射关系的集合Queue 代表一种队列集合 Java5新增Java5之前 集合丢失所有对象的数据类型,把所有的对象当成Object类型处理,Java5增加了泛型,Java集合可以记住对象的数据类型。数组缺点:...原创 2019-03-27 15:03:36 · 241 阅读 · 0 评论 -
Java并发问题--乐观锁与悲观锁以及乐观锁的一种实现方式-CAS
首先介绍一些乐观锁与悲观锁: 悲观锁:总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。再比如Java里面的同步原语synchronized关键字的实现也是悲观锁。 乐观锁:顾名思义,就是很乐观,每次去拿数...转载 2019-04-20 11:26:16 · 159 阅读 · 0 评论 -
线程池原理(二):可执行任务及其返回值
线程池将任务提交和任务执行分离,线程只是一个工作者,它可以执行有返回值的任务,也可以执行没有返回值的任务。接下将详细讨论这些线程执行的任务。先看下执行任务基本框架:图1 任务框架1. RunnableRunnable是一个没有返回值的任务,看下该接口的定义:public interface Runnable { //线程执行该任务时将会运行该方法 p...转载 2019-05-27 14:46:13 · 920 阅读 · 0 评论 -
Quartz定时任务学习(一)简单任务
学习quartz首先了解三个概念:调度器:负责调度作业和触发器;触发器:设置作业执行的时间、参数、条件等;(简单触发器和Cron触发器)作业:定时任务内容,被执行的程序;下载必要的jar包,直接去官网下载,将quartz-x.x.x.jar 和core 和/或 optional 文件夹中的 jar 文件放在项目的文件夹或项目的类路径中Quartz的几个核...转载 2019-05-23 11:50:56 · 258 阅读 · 0 评论 -
定时任务ScheduledThreadPoolExecutor的使用详解
定时任务ScheduledThreadPoolExecutor的使用详解前短时间需要用到一个定时器处理蓝牙设备接收的数据,并且需要处理的频率是很快的,这就需要一个稳定的定时器来保证数据的长久进行。ScheduledThreadPoolExecutor这个类就是个很好的选择。正常情况下,定时器我们都是用Timer和TimerTask这两个类就能完成定时任务,并且设置延长时间和循环时间间隔。...转载 2019-05-24 11:25:47 · 5169 阅读 · 0 评论 -
线程池原理(三):ThreadPoolExecutor
ThreadPoolExecutor就是我们经常说的大名鼎鼎的线程池,Executors工厂创建的线程池都是该类的实例,通过调节参数的大小创建适用于各个场景的线程池。接下来详细分析下ThreadPoolExecutor的源码,先看下定义:public class ThreadPoolExecutor extends AbstractExecutorService {}Thre...转载 2019-05-28 10:43:20 · 197 阅读 · 0 评论 -
Quartz定时任务学习(二)web应用
web中使用Quartz1、首先在web.xml文件中加入 如下内容(根据自己情况设定)在web.xml中添加QuartzInitializerServlet,Quartz为能够在web应用中使用,提供了一个QuartzInitializerServlet和一个QuartzInitializerListener,用于在加载web应用时,对quartz进行初始化。 ...转载 2019-05-23 11:51:34 · 218 阅读 · 0 评论 -
Java多线程-线程池ThreadPoolExecutor构造方法和规则
为什么用线程池博客地址 http://blog.youkuaiyun.com/qq_25806863原文地址 http://blog.youkuaiyun.com/qq_25806863/article/details/71126867有时候,系统需要处理非常多的执行时间很短的请求,如果每一个请求都开启一个新线程的话,系统就要不断的进行线程的创建和销毁,有时花在创建和销毁线程上的时间会比线程真正执行的时间还长...转载 2019-01-22 16:52:14 · 181 阅读 · 0 评论