
Java
文章平均质量分 93
liguangix
人生的道路不会一帆风顺,事业的征途也充满崎岖艰险,只有奋斗,只有拼搏,才会达到成功的彼岸。闪电从不打在相同的地方,人不该被相同的方式伤害两次。善良的人永远是受苦的,那忧苦的重担似乎是与生俱来的,因此只有忍耐。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java 8 List集合排序方法
List排序的方式String的排序,其他基础类型也类似的用法List<String> list = Lists.newArrayList();for(int i = 0; i<10; i++){ list.add(UUID.randomUUID()+String.valuefo(i));} System.out.println("排序前"); list.forEach(l -> System.out.println(l)); list.sort(Comparato原创 2020-05-30 14:24:57 · 3085 阅读 · 1 评论 -
Java 8 List转Map的几种方式
List 、Map 相互转换的几种方式:List 转 Maplist 转 map , key是用户姓名,value是user对象,List<User> list = getUsers();Map<String,User> userMap = Maps.newHashMap();userMap = list.stream().collect(Collectors.toMap(User::getName, Function.identity()));list 转 map,k原创 2020-05-30 10:41:54 · 2007 阅读 · 0 评论 -
如何看待Java 虚拟机的GC操作。
GC(Garbage Collect 垃圾回收)GC分为 Young区的 Minor GC,Old区的Major GC , Young区和Old区的Full GC。首先说说运行时数据区的垃圾回收问题程序计数器、虚拟机栈、本地方法栈这三个区域都是随着线程创建/销毁而生/死的。栈中的栈桢随着方法的进入和退出而执行出栈和入栈操作的。每一个栈桢中分配多少内存基本上是在类结构确定下来事时就已知的,因此...原创 2020-04-06 19:48:02 · 314 阅读 · 0 评论 -
谈谈我对Java内存模型的理解
内存模型与运行时数据区Java虚拟机在执行Java程序的过程中会把它所管理的内存划分成若干不同的数据区域。Java内存模型的主要目的是定义程序中各个变量的访问规则,在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节这里所讲述的主内存,工作内存与Java内存区域中Java堆,栈。方法区等并不是同一成次的内存划分,这两者基本上是没关系的。如果两者一定要勉强对应起来,从变量。主内存。工作内...原创 2020-04-05 01:01:32 · 575 阅读 · 0 评论 -
如何理解Java类加载机制
java 类加载机制 也就是class文件到虚拟机加载通过一个类的全限定名获取定义此类的二进制字节流将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构在Java堆中生成一个代表这个类的java.lang.Class对象,作为对方法区中这些数据的访问入口注意: 这里并不一定非得从一个class文件获取,这里既可以从zip包中读取(war,jar)也可以在运行时计算生成(动态代...原创 2020-04-03 00:52:36 · 311 阅读 · 0 评论 -
Java线程池 - newScheduledThreadPool是如何是实现周期执行的??
newScheduledThreadPool是如何是实现周期执行的??ScheduledThreadPoolExecutor的执行主要分为两个部分。当调用scheduleAtFixedRate() 和 scheduleWithFixedDelay() 方法时,会向ScheduledThreadPoolExecutor的DelayedWorkQueue添加一个实现了RunnableSched...原创 2020-03-19 22:05:55 · 2013 阅读 · 0 评论 -
Java线程池实现原理之自我见解
Java线程池的执行流程图:Java线程池有哪几种:1. newSingleThreadPool单个线程的线程池,即线程池中每次只有一个线程工作,单线程串行执行任务,LinkedBlockingQueue 阻塞队列2. newFixedThreadPool固定数量的线程池,每提交一个任务就是一个线程,直到线程达到线程池的最大数量,然后后面进入等待队列直到前面的任务才继续执行;...原创 2020-03-18 22:24:57 · 1406 阅读 · 0 评论 -
JavaEE 和 JavaSE的区别
Java分为三个版本:Java SE(标准版)、Java EE(企业版)、Java ME(微型版)。其中JavaSE就是大家学JavaEE和JavaME的基础,换而言之学Java先从JavaSE开始,JavaSE 包含了支持 Java Web 服务开发的类,JavaEE是企业最常用的用于企业级开发应用的,Java ME主要是移动段的开发应用。JAVAEE是指Java Enterprise Edi...原创 2020-03-13 15:04:01 · 6339 阅读 · 0 评论 -
HashTable源码分析、与 HashMap的区别
HashTable 1.8源码分析首先回顾一下HashTable的特性:线程安全,Key Value 都不能为空。 数据结构: 数组 + 链表,默认数组的长度是11 , 扩容时为原来的两倍+1,阈值是0.75。 父类是 Dictionary<K,V>.。使用的是Enumeration迭代。 public 方法都使用了synchronize关键字。多线程情况是安全了,就是会造成排队...原创 2019-07-19 18:23:41 · 246 阅读 · 0 评论 -
ConcurrentHashMap源码分析
帮忙纠错! 诚恳感谢!源码分析1.8ConcurrentHashMap数据结构是: 数组 + 链表 + 红黑树,它是线程安全的。其中抛弃了原有的 Segment 分段锁,而采用了 CAS + synchronized 来保证并发安全性。在多并发情况下它的数据为弱一致性的,多并发下get()返回的结果可能不是预期的值(这点在最后论证)。适用场景为:多线程对HashMap数据添加删除操作时。口述...原创 2019-07-18 23:43:45 · 246 阅读 · 0 评论 -
HashMap源码分析线程不安全
HashMap 源码分析线,为啥线程不安全?为啥呢,接着往下看看。主要原因是HashMap在put的时候会导致多线程下结果不一致!上一篇文章讲解HashMap的源码,当然么有每个方法都将,只讲了get(),和put()和构造方法。身下的自己看看就OK了,不过重点应该都涉及到了… … 吧!进入正题!!!现在我们来单线程的put一下 图解:出入完成后是这样的多线程下就会有问题:假设...原创 2019-07-16 15:37:04 · 284 阅读 · 0 评论 -
HashMap源码分析实现原理
HashMap 数据结构Java 1.7 HashMap 的数据结构是 数组 + 链表Java 1.8 HashMap 的数据结构是 数组 + 链表 + 红黑树HashMap 重点参数这里是针对1.8总结的。HashMap的默认初始化容量, 必须是2的幂static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // ak...原创 2019-07-15 16:42:44 · 242 阅读 · 0 评论 -
Java --- 新特性 --- try-with-resource 用法
在某官网上看到这个用法,一开始不理解。然后进过百度学习了一下。下面总结一下。菜鸟驿站 是这样解释的:(不知道这么直白的借鉴合适不合适 ~ . ~ )try-with-resources 是 JDK 7 中一个新的异常处理机制,它能够很容易地关闭在 try-catch 语句块中使用的资源。所谓的资源(resource)是指在程序完成后,必须关闭的对象。try-with-resources 语句确...原创 2019-03-01 15:00:57 · 2912 阅读 · 0 评论 -
Java基础篇 --- 控制执行流程
控制执行流程if-else 、while 、do-while 、 for 、return 、break 、 continue 、switchif-elseif-else 语句是控制程序流程的最基本的形式,其中的else 是可选的。int v = 9;int k = 5;if ( v &amp;gt; k ){ System.out.print(&quot;v大于k&quot;);}else{ System,...原创 2019-01-15 13:47:19 · 181 阅读 · 0 评论 -
Java基础篇 --- 运算符
Java的运算符分为:算术运算符、位运算符、赋值运算符、关系运算符、逻辑运算符、三目运算符、类型相关运算符。算数运算符+ 、 - 、*、/、%、++、-- 加 减 乘 除 取余主要是基本的加减乘除四则计算int v = 7;int k = 2;Systme.out.print(v + k); // 结果为 7+2=9Systme.out.print(v - k); // 结果为 7...原创 2019-01-14 17:47:49 · 651 阅读 · 0 评论 -
HttpClient 简单使用
如果是ssm结构的在controller层直接接受就行。//接受请求@controllerpublic void postInfo(@Valid String poCode , @Valid String suCode , @Valid String noId , @Valid String juryName){// 简单输出一下 得到的数据 打印。 System.out.p...原创 2018-06-15 16:25:49 · 510 阅读 · 0 评论 -
java 代理 理解原理及实现
转载自:https://www.cnblogs.com/gonjan-blog/p/6685611.html代理可以分为静态代理、动态代理,动态代理又可以分为 jvm的动态代理 和 cglib的动态代理。像spring框架的AOP的底层就使用了动态代理的技术。 那什么是代理,其实代理是一种场景,就想相亲前的互相打听,男方 ,媒人 , 女方。男方刚一开始不能直接去找人家女方谈情说爱,要通过媒人...转载 2018-06-29 16:34:23 · 11054 阅读 · 6 评论 -
Erlang 与 Java 创建的节点通讯
文章转自:https://blog.youkuaiyun.com/mycwq/article/details/38448813 我们知道,erlang在开源社区的活跃度远远不及java社区,在java社区中有很多优秀的开源框架,比如struts、hibernate、 spring、hadoop、hbase等,为了让erlang和java社区的众多开源框架相结合,让他们优势互补,可以让erlang来调用jav...转载 2018-07-27 17:15:26 · 431 阅读 · 0 评论 -
java 多个空字符替换成一个 字符串数字前添加空格
1. String name1 = “水果 青菜 大米 面粉”; //因为空格的数量不同 所以不会好处理 下面的方法会简单一点 // 参数1 是代表所有的空格 ,参数2 是代表你要替换成的字符串 例子我是替换成了一个下划线 String zz = name1.replaceAll(“\s+”,”_”);原创 2017-05-16 10:17:26 · 1625 阅读 · 0 评论 -
JNotify文件夹监管
JNotify对文件夹进行监管添加文件、删除文件、文件重命 下载好JNotify,里面有两个文件分别是jnotify.dll和jnotify_64bit.dll ,将这两个文件放到C:\Program Files\Java\jre7\bin下面就好(本地安装的jre的bin目录下,我用的是ssm框架) public class TestFile { public static voi原创 2017-07-12 14:41:20 · 455 阅读 · 0 评论 -
base64操作照片字符串之间的转换
public class TestBase64 {//main方法测试public static void main(String[] args) { String zhi = null; try { zhi = new TestBase64().pictureToBaseString(); new原创 2017-07-13 15:24:11 · 236 阅读 · 0 评论 -
Java 获得CPU占有率
Sigar是Hyperic-hq产品的基础包,是Hyperic HQ主要的数据收集组件。它用来从许多平台收集系统和处理信息. 这些平台包括:Linux, Windows, Solaris, AIX, HP-UX, FreeBSD and Mac OSX. Sigar有C,C#,Java和Perl API,java版的API为sigar.jar sigar.jar的底层是用C语言编写的,它通过本地原创 2017-08-03 14:38:40 · 1435 阅读 · 0 评论 -
java ping IP 实现
我自己就只用过方法1。网上还有好多别的方法一样可以实现. 1.方法 Java.net包 InetAddresss 在jdk1.5以后 java.net包就实现了 IMCD 的 ping 功能public boolean pingIp(String ip) throws UnknownHostException, IOException{ //能ping通放回true翻译 2017-08-03 14:56:53 · 3996 阅读 · 0 评论 -
java修改图片宽高
java修改图片的宽高因为一些特定的原因,限制了长传图片的大小。可以使用一下这个方法试试。 我是测试过没问题发布的。转载 2017-09-21 14:43:52 · 6779 阅读 · 0 评论 -
java 导出Excel文件
java导出数据并保存为excel文件原创 2017-11-17 10:48:22 · 481 阅读 · 0 评论 -
java FreeMarker制作word
freemarker生成word文档数据,使用的是占位符的方式${},感觉像jsp上使用的le表达式非常相似。将word文档中需要添置的地方使用占位符来绑定。第一步:下载freemarker的包 第二部:将word文档转化称xml格式或者ftl格式都可以。 注意:建议先转换成xml格式,转换后有可能出现占位符错乱问题(不过我没出现),打开文件看看有没有错乱,如果有将错乱原创 2017-11-17 12:07:34 · 315 阅读 · 0 评论 -
时间格式转换渲染
经常使用字符串转换成时间 ,时间转换字符串,时间格式,字符串格式,特殊字符串。 1.字符串转换成时间。public static void main(String[] args) { String date = "2018-03-21 10:08:00";//字符串 SimpleDateFormat sdf = new SimpleDateFormat("y...原创 2018-03-29 11:42:12 · 454 阅读 · 0 评论 -
Java的三大特性
封装 继承 多态 文章引荐与这里 1、封装 封装就是将类的信息隐藏在类内部,不允许外部程序直接访问,而是通过该类的方法实现对隐藏信息的操作和访问。封装是怎么实现的呢? a. 需要修改属性的访问控制符(修改为private); b. 创建getter/setter方法(用于属性的读写); c. 在getter/setter方法中加入属性控制语句(用于判断属性值的合...原创 2018-05-10 19:26:23 · 144 阅读 · 0 评论