JVM参数详解
摘要:常用JVM参数解释 简介: JVM参数配置 -server C2引擎执行 -Xms20g 最小堆内存20G -Xmx20g 最大堆内存20G -Xmn8g 新生代8G -XX:PermSize=256m Perm大小256MB -XX:MaxPermSize=256m Perm大小256MB -XX
阅读全文
posted @
2021-03-29 22:16
@ 小浩
阅读(1104)
推荐(0) 编辑
Java8的Lambda表达式简单介绍
摘要:Lambda简介# Lambda 表达式是 JDK8 的一个新特性,可以取代大部分的匿名内部类,写出更优雅的 Java 代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。 JDK 也提供了大量的内置函数式接口供我们使用,使得 Lambda 表达式的运用更加方便、高效。 对接口的要求#
阅读全文
posted @
2020-12-28 19:24
@ 小浩
阅读(251)
推荐(0) 编辑
Java如何获取当前类路径
摘要:1.如何获得当前文件路径 常用: (1).Test.class.getResource("") 得到的是当前类FileTest.class文件的URI目录。不包括自己! (2).Test.class.getResource("/") 得到的是当前的classpath的绝对URI路径。 (3).Thr
阅读全文
posted @
2019-12-01 17:36
@ 小浩
阅读(11451)
推荐(0) 编辑
@Autowired和@Resource的区别和联系
摘要:背景: 今天下班路上看到一个大货车,于是想到了装配,然后脑海里跳出了一个注解@Autowired(自动装配),于是又想到最近工作项目用的都是@Resource注解来进行装配。于是本着学什么东西都要一钻到底才能从菜鸟变大神的精神!!我就认真研究了一下,在此总结一波。以下内容先分别解释一下两个注解,再进
阅读全文
posted @
2019-12-01 16:25
@ 小浩
阅读(370)
推荐(0) 编辑
Java封装jar包对外提供可执行文件
摘要:编写Main方法,封装jar包 1、编写Main方法 具体项目结构如下: 2、通过idea可以快速进行Main方法的jar包封装,具体步骤可以参考 https://blog.csdn.net/yuang12345/article/details/90293013 https://blog.csdn.
阅读全文
posted @
2019-10-30 10:07
@ 小浩
阅读(1558)
推荐(0) 编辑
几种常见NPE
摘要:NPE(Null Point Exception的简称) 1、Map下的NPE 直接上代码: [java] view plain copy public class User { private Integer id; private String name; public Integer getI
阅读全文
posted @
2018-06-22 18:02
@ 小浩
阅读(678)
推荐(0) 编辑
如何找出单链表中的倒数第k个元素
摘要:1、为了找出倒数第k个元素,最容易想到的办法是首先遍历一遍单链表,求出整个单链表的长度n,然后将倒数第k个,转换为正数第n-k个,接下来遍历一次就可以得到结果。但是该方法存在一个问题,即需要对链表进行两次遍历,第一次遍历用于求解单链表的长度,第二次遍历用于查找正数第n-k个元素。 2、显然,这种方法
阅读全文
posted @
2018-06-06 07:36
@ 小浩
阅读(5331)
推荐(1) 编辑
Java内存泄漏简单说明
摘要:Java语言的一个关键的优势就是它的内存管理机制。你只管创建对象,Java的垃圾回收器帮你分配以及回收内存。然而,实际的情况并没有那么简单,因为内存泄漏在Java应用程序中还是时有发生的。 下面就解释下什么是内存泄漏,它为什么会发生,以及我们如何阻止它的发生。 1. 什么是内存泄漏? 内存泄漏的定义
阅读全文
posted @
2018-05-31 07:57
@ 小浩
阅读(278)
推荐(0) 编辑
Rehash死锁的问题
摘要:为什么都说HashMap是线程不安全的呢?它在多线程环境下,又会发生什么情况呢? resize死循环 我们都知道HashMap的初始容量是16,一般来说,当插入数据时,都会检查容量有没有超过设定的thredhold,如果超过容量,就需要增大Hash表的尺寸,但是这样一来,整个Hash表内的元素都需要
阅读全文
posted @
2018-05-31 07:45
@ 小浩
阅读(1126)
推荐(0) 编辑
Java队列Queue
摘要:上个星期总结了一下synchronized相关的知识,这次将Queue相关的知识总结一下,和朋友们分享。 在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列。Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueu
阅读全文
posted @
2018-05-30 08:17
@ 小浩
阅读(624)
推荐(0) 编辑
Redis整合Spring实现分布式锁
摘要:spring把专门的数据操作独立封装在spring-data系列中,spring-data-redis是对Redis的封装 Spring 配置文件applicationContext.xml 注意新版的maxTotal,MaxWaitMillis这两个字段与旧版的不同。 redis连接池配置文件re
阅读全文
posted @
2018-05-20 16:12
@ 小浩
阅读(5971)
推荐(1) 编辑
Java IO网络编程经典模板
摘要:本文会从传统的BIO到NIO再到AIO自浅至深介绍,并附上完整的代码讲解。 下面代码中会使用这样一个例子:客户端发送一段算式的字符串到服务器,服务器计算后返回结果到客户端。 代码的所有说明,都直接作为注释,嵌入到代码中,看代码时就能更容易理解,代码中会用到一个计算结果的工具类,见文章代码部分。 相关
阅读全文
posted @
2018-05-16 08:40
@ 小浩
阅读(524)
推荐(0) 编辑
Socket拆包和解包
摘要:对于基于TCP开发的通讯程序,有个很重要的问题需要解决,就是封包和拆包.下面就针对这个问题谈谈我的想法,抛砖引玉.若有不对,不妥之处,恳求大家指正.在此先谢过大家了. 一.为什么基于TCP的通讯程序需要进行封包和拆包. TCP是个"流"协议,所谓流,就是没有界限的一串数据.大家可以想想河里的流水,是
阅读全文
posted @
2018-05-16 06:59
@ 小浩
阅读(4331)
推荐(0) 编辑
Socket的长连接和短连接
摘要:讨论Socket必讨论长连接和短连接 一、长连接和短连接的概念 1、长连接与短连接的概念:前者是整个通讯过程,客户端和服务端只用一个Socket对象,长期保持Socket的连接;后者是每次请求,都新建一个Socket,处理完一个请求就直接关闭掉Socket。所以,其实区分长短连接就是:整个客户和服务
阅读全文
posted @
2018-05-15 07:35
@ 小浩
阅读(662)
推荐(0) 编辑
Java中涉及线程和并发相关的内容
摘要:1:线程池 与每次需要时都创建线程相比,线程池可以降低创建线程的开销,这也是因为线程池在线程执行结束后进行的是回收操作,而不是真正的 销毁线程。 2:ReentrantLock ReentrantLock提供了tryLock方法,tryLock调用的时候,如果锁被其他线程持有,那么tryLock会立
阅读全文
posted @
2018-05-13 15:37
@ 小浩
阅读(194)
推荐(0) 编辑
Java中的Future相关
摘要:先上一个场景:假如你突然想做饭,但是没有厨具,也没有食材。网上购买厨具比较方便,食材去超市买更放心。 实现分析:在快递员送厨具的期间,我们肯定不会闲着,可以去超市买食材。所以,在主线程里面另起一个子线程去网购厨具。 但是,子线程执行的结果是要返回厨具的,而run方法是没有返回值的。所以,这才是难点,
阅读全文
posted @
2018-05-13 15:35
@ 小浩
阅读(466)
推荐(0) 编辑
CyclicBarrier循环屏障相关
摘要:简介 CyclicBarrier 的字面意思是可循环使用(Cyclic)的屏障(Barrier)。它要做的事情是,让一组线程到达一个屏障(也可以叫同步点)时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续干活。CyclicBarrier默认的构造方法是CyclicBar
阅读全文
posted @
2018-05-13 15:18
@ 小浩
阅读(324)
推荐(0) 编辑
CountDownLatch的简单讲解
摘要:正如每个Java文档所描述的那样,CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行。在Java并发中,countdownlatch的概念是一个常见的面试题,所以一定要确保你很好的理解了它。在这篇文章中,我将会涉及到在Java并发编 程中跟C
阅读全文
posted @
2018-05-13 14:15
@ 小浩
阅读(684)
推荐(0) 编辑
CAS锁相关讲解
摘要:感谢GOOGLE强大的搜索,借此挖苦下百度,依靠百度什么都学习不到! 参考文档: http://www.blogjava.net/xylz/archive/2010/07/04/325206.html http://blog.hesey.net/2011/09/resolve-aba-by-atom
阅读全文
posted @
2018-05-13 13:53
@ 小浩
阅读(1201)
推荐(0) 编辑
ThreadPoolExecutor线程池参数设置技巧
摘要:一、ThreadPoolExecutor的重要参数 corePoolSize:核心线程数 核心线程会一直存活,及时没有任务需要执行 当线程数小于核心线程数时,即使有线程空闲,线程池也会优先创建新线程处理 设置allowCoreThreadTimeout=true(默认false)时,核心线程会超时关
阅读全文
posted @
2018-05-13 11:27
@ 小浩
阅读(454)
推荐(0) 编辑