java
RunMonster
要么颓废得像坨屎,要么认真得像个疯子!!
展开
-
RestTemplate 简单使用(笔记)
get public static void get(){ RestTemplate restTemplate = new RestTemplate(); //不带参数get Notice notice = restTemplate.getForObject("http://localhost:8088/rest/notice",Notice.class); System.out.println(notice.toString()原创 2020-08-12 17:25:18 · 244 阅读 · 0 评论 -
java 正则表达式(整理)
1、介绍java.util.regex 所属包 包括了两个类,Pattern(模式类)和Matcher(匹配器类)。Pattern类是用来表达和陈述所要搜索模式的对象,Matcher类是真正影响搜索的对象。 PatternSyntaxException,当遇到不合法的搜索模式时,会抛出例外。2、语法在 Java 的正则表达式中,两个\\代表其他语言中的一个\,这也就是为什么...原创 2020-03-11 10:04:23 · 289 阅读 · 0 评论 -
java反射 实际使用
实例化和负值 private void run() { String path = "com.gray.game.grayreflect.ReflectModel"; try { //获取对象实例 ReflectModel model = (ReflectModel) Class.forName(path...原创 2019-04-10 23:07:43 · 190 阅读 · 0 评论 -
文件读取与存储 工具类
/** * 文件读取与解析帮助者类,用于读取指定文件,解析文件 * * @All rights reserved. */public class FileHelper { /** * 根据传入的文件名称读取文件,文件编码由系统自动判定 * * @param fileName 文件名称 * @return */ pub...原创 2020-02-06 09:03:17 · 148 阅读 · 0 评论 -
并发编程-future 实际使用
public static void main(String[] args) throws InterruptedException, ExecutionException { ExecutorService executor = Executors.newFixedThreadPool(1); try { //异步执行任务 ...原创 2019-04-09 23:26:57 · 192 阅读 · 0 评论 -
并发编程-线程池
newfixedthreadpool(固定线程数量的线程池)可控制线程最大并发数,超出的线程会在队列中等待ExecutorService newFixedThreadPool = Executors.newFixedThreadPool(5); for (int i = 0; i < 10; i++) { final int temp = i; newFixedThrea...原创 2019-04-09 14:11:45 · 139 阅读 · 0 评论 -
并发编程-Concurren线程安全的容器
ConcurrentMap最多分16段(细粒度,减少锁的力度,减小锁竞争)ConcurrentHashMap(无序map)ConcurrentSkipListMap(有序map)Copy-On-Write写时复制,完成后把指针指向新容器(应用场景,读多写少)。内部加锁,多个写后一个会等待第一个执行完成。copyonwritearraylistcopyonwrite...原创 2019-04-09 12:39:00 · 810 阅读 · 0 评论 -
并发编程-线程之间通信
多个线程在操作同一个资源synchronizedwait、notify(一定要在线程同步中使用,并且是同一个锁的资源。wait释放锁,notify不释放锁) public void runBase(){ Object lock = new Object(); new Thread(){ public void run()...原创 2019-04-08 22:11:10 · 121 阅读 · 0 评论 -
并发编程-线程安全
原因:Java内存模型 共享内存模型指的就是Java内存模型(简称JMM),JMM决定一个线程对共享变量的写入时,能对另一个线程可见。线程之间的共享变量存储在主内存(main memory)中,每个线程都有一个私有的本地内存(local memory),本地内存中存储了该线程以读/写共享变量的副本。当多个线程同时访问一个数据的时候,可能本地内存没有及时刷新到主内存,所以就会发生...原创 2019-04-08 18:28:09 · 134 阅读 · 0 评论 -
并发编程-线程的使用
线程与进程 进程是所有线程的集合,每一个线程是进程中的一条执行路径。 多线程提高程序效率。多线程运行状态: 新建状态:执行new以后,还没开始运行 就绪状态:执行了start方法以后,等待cup分配时间执行run方法 运行状态:执行run方法以后 阻塞状态:sleep、锁、阻塞队列等 死亡状态:运行完成或报出异常1、线程的创建方式:public...原创 2019-04-07 21:54:11 · 123 阅读 · 0 评论 -
并发编程-disruptor
1、RingBuffer环形的缓冲区,核心类,是线程间交换数据的中转地。2、SequenceDisruptor顺序递增的序号来编号管理通过其进行交换的数据(事件)。(消息写到了哪里)3、Sequence BarrierConsumer的 Sequence 的引用,决定 Consumer 是否还有可处理的事件的逻辑4、Wait Strategy定义 Consumer 如何进行等待下一...原创 2019-04-10 22:36:37 · 141 阅读 · 0 评论 -
读取xml信息
1、读取xml信息<?xml version="1.0" encoding="UTF-8"?><students> <student1 id="001"> <姓名>残缺的孤独</姓名> <学号>201401021</学号> <地址>北京&l...原创 2019-04-07 15:07:59 · 519 阅读 · 0 评论 -
java url获取网络时间(有些时候本地时间不准确)
/** * 获取指定网站的日期时间 * * @param webUrl * @param timeOut * @return */ public static Date getWebsiteDatetime(String webUrl,int timeOut){ try { UR...原创 2020-01-08 17:14:43 · 575 阅读 · 0 评论 -
java 启动方式 java -jar xx.jar
1、窗口被锁定,可按CTRL + C打断程序运行,关闭窗口程序停止运行java -jar XXX.jar 2、窗口不被锁定,关闭窗口时,程序停止运行java -jar XXX.jar &3、nohup 意思是不挂断运行,当账户退出或终端关闭时,程序仍然运行,日志内容默认存入nohup.out 文件内nohup java -jar XXX.jar & ...原创 2019-12-16 14:43:45 · 5544 阅读 · 0 评论 -
collection 笔记
collection主要方法:boolean add(Object o)添加对象到集合boolean remove(Object o)删除指定的对象int size()返回当前集合中元素的数量boolean contains(Object o)查找集合中是否有指定的对象boolean isEmpty()判断集合是否为空Iterator iterator()返回一个迭代器boolea...原创 2019-04-09 22:57:07 · 142 阅读 · 0 评论 -
GVM 内存结构 垃圾回收
Java堆(所有线程共享的一块内存区域)1、在虚拟机启动时创建。存放对象实例。2、GC堆,垃圾收集器管理的主要区域。3、通过 -Xmx 和 -Xms 控制,无法再扩展时,将会抛出OutOfMemoryError异常。内部分:新生代(1/3 的堆空间大小)、老年代(2/3 的堆空间大小)新生代又分:Eden 和 两个 Survivor区(2个Survivor分别...原创 2019-04-14 09:34:05 · 2342 阅读 · 0 评论 -
java基础知识个人记录
ThreadLocal(线程变量副本)Synchronized实现内存共享,ThreadLocal为每个线程维护一个本地变量。采用空间换时间,它用于线程间的数据隔离,为每一个使用该变量的线程提供一个副本,每个线程都可以独立地改变自己的副本,而不会和其他线程的副本冲突。ThreadLocal类中维护一个Map,用于存储每一个线程的变量副本,Map中元素的键为线程对象,而值为对应线程的变量副本。...原创 2019-04-28 15:41:51 · 139 阅读 · 0 评论 -
java 小功能记录
3、required = false代表没有的情况下也会注入一个空的list @Autowired(required = false) public void setConfigurers(List<WebMvcConfig> configurers){ }4、@JsonProperty 标记后使用json序列化会自动使用它设置的...原创 2019-07-01 18:39:29 · 126 阅读 · 0 评论 -
java sort 个人笔记
原理快速排序主要是对那些基本类型数据(int,short,long等)排序, 而归并排序用于对Object类型进行排序。使用不同类型的排序算法主要是由于快速排序是不稳定的,而归并排序是稳定的。这里的稳定是指比较相等的数据在排序之后仍然按照排序之前的前后顺序排列。对于基本数据类型,稳定性没有意义,而对于Object类型,稳定性是比较重要的,因为对象相等的判断可能只是判断关键属性,最好保持相...原创 2019-07-02 09:31:14 · 69 阅读 · 0 评论 -
ThreadLocalRandom 个人整理
1、以及JDK 7 新引入的java.util.concurrent.ThreadLocalRandom**。特点比较:Random虽然是线程安全的,效率比降低。(用了很多CAS的类)ThreadLocalRandom根本没有用到。 Random产生的随机数可能被预测 使用TheadLocalRandom代替Math.random()可以减少竞争,从而获得更好的性能。工具类:...转载 2019-07-02 11:46:02 · 1059 阅读 · 0 评论 -
java-笔记-基础知识
介绍原创 2019-07-15 10:22:37 · 59 阅读 · 0 评论 -
try-with-resource 关闭资源
JDK1.7之后,引入了try-with-resource,使得关闭资源操作无需层层嵌套在finally中。1.模板class MyResource implements AutoCloseable{ public void open(){ System.out.println("resource is open!"); } @Override...原创 2019-09-28 18:31:12 · 443 阅读 · 0 评论 -
lamada 常用方法
/** * Created on 2019/4/2. * * @author Grak * @since 1.0 */public class Lamada01 { public static void main(String[] args) { Lamada01 lamada = new Lamada01(); lamada.lamadaB...原创 2019-04-07 20:33:12 · 383 阅读 · 0 评论