![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
----2.1.1.javaSE
文章平均质量分 66
leoIsCoding
Github : [ https://github.com/leoChaoGlut ]
Email : [ leoIsCoding@163.com ]
展开
-
Java 8 中所有的包列表及介绍
了解了Java 8中所有包的作用,对Java 8有了一个整体的了解,另外也是提高了自身的阅读能力。本文列出了Java 8中所有的包,并且对每一个包的功能做了简要的说明,希望对你有所帮助。—————————————————–Java平台,标准版第八版API规范java.applet提供了需要创建一个小程序和用来跟其他小程序交流上下文的类。java.aw转载 2017-01-29 17:23:07 · 2369 阅读 · 0 评论 -
13个不容错过的Java项目
今天我们将整理一大波干货满满的Java示例代码与能力展示素材。GitHub可谓一座程序开发的大宝库,有些素材值得fork,有些则能帮助我们改进自有代码或者学习编程技能。无论如何,开发工作当中我们几乎不可能绕得开GitHub。下面,我们将一同分享各有趣且颇为实用的Java库,大家请任取所需、不用客气~1.极致精简的JavaBootique是一项用于构建无容器可运行Java应用的极简技转载 2016-09-03 14:23:02 · 8892 阅读 · 0 评论 -
一道面试题比较synchronized和读写锁
一、科普定义这篇博文的两个主角“synchronized”和“读写锁”1)synchronized这个同步关键字相信大家都用得比较多,在上一篇“多个线程之间共享数据的方式”中也详细列举他的应用,在这就不多说只做几点归纳:Java提供这个关键字,为防止资源冲突提供的内置支持。当任务执行到被synchronized保护的代码片段的时候,它检查锁是否可用,然后获取锁,执行转载 2016-07-31 21:56:50 · 781 阅读 · 0 评论 -
Java 理论与实践: 正确使用 Volatile 变量
Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是 synchronized 的一部分。本文介绍了几种有效使用 volatile 变量的模式,并强调了几种不适合使用 volatile 变量的情形。锁提供了两种转载 2016-07-06 14:55:49 · 831 阅读 · 0 评论 -
Java细粒度锁实现的3种方式
最近在工作上碰见了一些高并发的场景需要加锁来保证业务逻辑的正确性,并且要求加锁后性能不能受到太大的影响。初步的想法是通过数据的时间戳,id等关键字来加锁,从而保证不同类型数据处理的并发性。而java自身api提供的锁粒度太大,很难同时满足这些需求,于是自己动手写了几个简单的扩展…1. 分段锁借鉴concurrentHashMap的分段思想,先生成一定数量的锁,具体使用的时候转载 2016-06-28 14:06:14 · 1658 阅读 · 0 评论 -
Java获取本机公网ip
import java.net.InetAddress;import java.net.NetworkInterface;import java.net.SocketException;import java.util.Enumeration;/** * * @anthor leo * @date 2016年6月27日下午12:40:14 * @description * *转载 2016-06-27 14:07:47 · 10792 阅读 · 0 评论 -
Java部分流关闭时的源码操作
昨天在封装一FileReader工具类的时候,写了这样一段代码:public static String read(InputStream is, boolean inputStreamNeedToBeClosed) { InputStreamReader isr = null; BufferedReader br = null; try { isr = new Inpu原创 2016-05-22 09:49:06 · 1933 阅读 · 0 评论 -
Linux下解压,压缩JAR包的方法
把当前目录下的所有文件打包成game.warjar -cvfM0 game.war ./-c 创建war包-v 显示过程信息-f -M-0 这个是阿拉伯数字,只打包不压缩的意思解压game.warjar -xvf game.war解压到当前目录,注意,不会创建一个game文件夹,而是将所有jar包的内容全部解压到当前文件夹.转载 2016-05-20 12:25:33 · 100741 阅读 · 2 评论 -
每个Java程序员需要了解的8个Java开发工具
Java是计算机应用程序编程语言,被广泛用于创建Web应用、服务器处理、用户端的API开发乃至数据库等多个领域。下面列出了8个有助于你开发Java应用程序最好的Java工具。1. SparkJava这是一款体形轻巧,功能强大的Web应用框架。Spark拥有简单而直接的方法。您可以通过一些繁琐的XML配置来使用Spark框架编写应用程序。Spark能让你花费最少的精力来开发Java的转载 2016-01-13 14:20:00 · 1670 阅读 · 0 评论 -
Google Guava官方教程(中文版)
原文链接 译文链接 译者: 沈义扬,罗立树,何一昕,武祖 校对:方腾飞引言Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotation转载 2016-01-26 11:52:43 · 1421 阅读 · 0 评论 -
Java Executor 框架学习总结
大多数并发都是通过任务执行的方式来实现的。一般有两种方式执行任务:串行和并行。class SingleThreadWebServer { public static void main(String[] args) throws Exception { ServerSocket socket = new ServerSocket(80); while(t转载 2015-12-24 09:24:21 · 1356 阅读 · 0 评论 -
Java类的生命周期详解
引言最近有位细心的朋友在阅读笔者的文章时,对java类的生命周期问题有一些疑惑,笔者打开百度搜了一下相关的问题,看到网上的资料很少有把这个问题讲明白的,主要是因为目前国内java方面的教材大多只是告诉你“怎样做”,但至于“为什么这样做”却不多说,所以造成大家在基础和原理方面的知识比较匮乏,所以笔者今天就斗胆来讲一下这个问题,权当抛砖引玉,希望对在这个问题上有疑惑的朋友有所帮助,文中有说的不转载 2015-12-31 17:01:51 · 1405 阅读 · 0 评论 -
25个Java机器学习工具和库
本列表总结了25个Java机器学习工具&库:1. Weka集成了数据挖掘工作的机器学习算法。这些算法可以直接应用于一个数据集上或者你可以自己编写代码来调用。Weka包括一系列的工具,如数据预处理、分类、回归、聚类、关联规则以及可视化。2.Massive Online Analysis(MOA)是一个面向数据流挖掘的流行开源框架,有着非常活跃的成长社区。它包括一系列的机器学习算法(分转载 2015-12-28 09:17:51 · 1753 阅读 · 0 评论 -
实战SoftReference被回收的时机
这是我最近在开发的一个基于客户端发现模式(因为基于服务端发现的都比较多了,consul还做得很好)的服务注册发现框架: https://github.com/leoChaoGlut/ServiceDIscoveryAndRegistry然后在过程中遇到这样一个问题:在做client-service-proxy的时候,要实现一个负载均衡算法.我选了比较常用的原创 2016-08-10 00:18:06 · 2829 阅读 · 0 评论 -
Java并发编程:volatile关键字解析(推荐!)
volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们转载 2016-07-06 17:49:12 · 1186 阅读 · 0 评论 -
Intellj Idea 远程调试
对于分布式系统的调试不知道大家有什么好的方法。对于我来说,在知道远程调试这个方法之前就是在代码中打各种log,然后重新部署,上线,调试,这样比较费时。今天咱们来了解了解Java远程调试这个牛逼的功能,本文以Intellij IDEA为例讲解怎么使用远程调试。以Thrift入门教程这篇文章中使用的程序作为例子。这个程序由Thrift服务端和客户端组成。描述一下远程调试需要解决的问题:服务转载 2017-01-04 22:16:25 · 2802 阅读 · 0 评论 -
Jdk1.7(及以上) 使用 try-with-resources 替代try-catch-finally
刚刚在看 Jedis's Wiki 的时候,发现里边的代码,用了一句还没见过这样的语法,于是乎到官方找了一下解释 http://docs.oracle.com/javase/7/docs/technotes/guides/language/try-with-resources.html只要你的对象实现了AutoCloseable 或 Closeable,在try代码块结束之前,会自动关闭原创 2016-12-30 16:53:30 · 2598 阅读 · 0 评论 -
线程池ThreadPoolExecutor参数设置
JDK1.5中引入了强大的concurrent包,其中最常用的莫过了线程池的实现ThreadPoolExecutor,它给我们带来了极大的方便,但同时,对于该线程池不恰当的设置也可能使其效率并不能达到预期的效果,甚至仅相当于或低于单线程的效率。ThreadPoolExecutor类可设置的参数主要有:corePoolSize核心线程数,核心线程会一直存活转载 2016-12-10 09:15:12 · 380 阅读 · 0 评论 -
IO型任务,线程池越大越好?
网传 "CPU密集型任务,线程池size应为CPU数+1; IO密集型任务,线程池size应为CPU数/(1-阻塞系数)".并且,类似的话也出现在 这本书里.但是,今天正好做到一个类似的东西,于是乎就测试了一下,很奇怪,结果恰恰相反.1.环境:1.1.jdk1.81.2.mysql5.6 (数据库位于本地Ubuntu16.04虚拟机中)1.3.win10 64bi原创 2016-12-12 00:04:49 · 3827 阅读 · 1 评论 -
Java 包含泛型方法签名的方法调用,如: <K, V> Map<K, V> buildHashMap()
今天在用Guava做cache的时候,发现guava中,有些方法会带有泛型的方法签名:public CacheBuilder expireAfterAccess(long duration, TimeUnit unit) { checkState( expireAfterAccessNanos == UNSET_INT, "expireAfterAcce原创 2016-12-10 10:39:53 · 5541 阅读 · 0 评论 -
慎用byte[]读中文数据
先看个例子: String str = "测试"; System.out.println(str.getBytes().length);//6 System.out.println(str.getBytes("GBK").length);//4大多数情况下,我们的环境编码都是UTF8,每个中文汉字就是3个字节.那么,假设现在我要读一个字节流原创 2016-11-14 10:24:24 · 1526 阅读 · 0 评论 -
JMS中的DeliveryMode和DurableSubscriber
DeliveryModeDeliveryMode.PERSISTENT 是指服务器中 message 在queue里面只要没被消费掉 或者 在topic上仍然有至少一个 DurableSubscriber 没有收到 那么message就是仍然存在的,重启仍然存在。producer发送消息时 消息的DeliveryMode属性默认的是NON_PERSISTENT的,PERS转载 2016-06-29 11:38:27 · 1189 阅读 · 0 评论 -
JVM内存分区
jvm体系结构jvm内存分区1 程序计数器程序计数器是当前线程所执行字节码的行号指示器,所以它是私有的。如果线程执行的是非native方法,则程序计数器中保存的是当前需要执行的指令的地址;如果线程执行的是native方法,则程序计数器中的值是undefined。程序计数器是不会发生内存溢出现象(OutOfMemory)的。 2 J转载 2015-10-22 21:53:42 · 1347 阅读 · 0 评论 -
剪刀石头布游戏(相关图片请自行查找)
package p;import java.awt.Color;import java.awt.Image;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.AbstractButton;import javax.swing.ImageIcon;impo转载 2014-06-04 14:04:57 · 1770 阅读 · 0 评论 -
java 简单猜数字游戏
package p;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class lc4 implements ActionListener { int n=13; JFrame jf=new JFrame("Example"); JTextField tf1=new JTex原创 2014-05-20 15:53:10 · 1850 阅读 · 0 评论 -
简单扫雷
package p;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import javax.swing.*;pu原创 2014-05-28 16:49:20 · 1816 阅读 · 0 评论 -
Java:强引用、弱引用、软引用、虚引用
1、强引用(StrongReference) 强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。如下:?1Object o=new Object(); // 强引用当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程转载 2016-01-01 17:29:28 · 1397 阅读 · 0 评论 -
callback的理解与Java实例
对callback,暂时的理解是:A对象调用B接口的b方法,b方法又反过来调用A对象中的c方法。 A调用B接口时把自身给B接口,至于怎么处理,由B的实现类去做,不关A的事。 写了个例子,BadBoy,这类坏孩子喜欢打人,有个方法叫hit,hit只能对实现了Hitable的对象执行。这时候,BadBoy已经做完了自己的事,也就是已经打完人了,然后挨打的人肯定知道是谁打了自己,至于挨打的人转载 2016-01-01 16:56:15 · 1457 阅读 · 0 评论 -
Android 编译时解析注解
1、概述记得很久以前,写过几篇博客,容我列举一下:Android 进阶 教你打造 Android 中的 IOC 框架 【ViewInject】 (上)Android 进阶 教你打造 Android 中的 IOC 框架 【ViewInject】 (下)Android 框架炼成 教你如何写组件间通信框架EventBus大家可以关注下这些博客的评论,不管咋样,转载 2015-09-20 22:41:13 · 1429 阅读 · 0 评论 -
jdk1.8 HashMap性能提升
原文链接:http://it.deepinmind.com/%E6%80%A7%E8%83%BD/2014/04/24/hashmap-performance-in-java-8.htmlHashMap是一个高效通用的数据结构,它在每一个Java程序中都随处可见。先来介绍些基础知识。你可能也知道,HashMap使用key的hashCode()和equals()方法来将值划分到不同的桶里。桶转载 2015-09-04 21:03:43 · 5984 阅读 · 2 评论 -
极易理解的红黑树讲解
原文链接:http://www.cnblogs.com/abatei/archive/2008/12/17/1356565.htmlC#与数据结构--树论--红黑树(RED BLACK TREE) 介绍今天我们来介绍另一种平衡二叉树:红黑树(Red Black Tree),红黑树由Rudolf Bayer于1972年发明,当时被称为平衡二叉B树(symmetric bina转载 2015-09-10 17:04:10 · 3793 阅读 · 1 评论 -
jdk1.8 LinkedList增删改的过程
1.LinkedList由N个Node构成,Node结构代码如下:private static class Node { E item; Node next; Node prev; Node(Node prev, E element, Node next) { this.item = element;原创 2015-09-05 10:28:46 · 2456 阅读 · 0 评论 -
java线程同步实例
import java.util.concurrent.Callable;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Future;import org.junit.Test;public class MyTe原创 2015-09-03 17:44:05 · 1401 阅读 · 0 评论 -
java 动态代理实现
先附上项目结构:步骤:1.创建IFly接口:package glut.proxy;public interface IFly { void fly();}2.创建Bird类,并让它实现IFly:package glut.proxy;public class Bird implements IFly { public void fly() { System原创 2015-09-09 18:15:33 · 1402 阅读 · 0 评论 -
JDK5至JDK8的新特性
JDK各个版本的新特性 对于很多刚接触java语言的初学者来说,要了解一门语言,最好的方式就是要能从基础的版本进行了解,升级的过程,以及升级的新特性,这样才能循序渐进的学好一门语言。今天先为大家介绍一下JDK1.5版本到JDK1.7版本的特性。希望能给予帮助。JDK1.5新特性: 1.自动装箱与拆箱:自动装箱的过程:每当需要一种类型的对象时,这转载 2015-09-03 16:43:01 · 2653 阅读 · 0 评论 -
简易Java Bean转JSON
临时写出来的,没考虑太多,暂时不支持二维以上数组,Map,set等数据结构(方法应该类似,进行递归创造json即可).先附上2个测试bean的代码public class User { private String username; private String password; private int nubmer; private Date date; private L原创 2015-06-27 22:48:26 · 1572 阅读 · 0 评论 -
eclipse 查看对象||方法等被谁引用的快捷键
Ctrl+Alt+H.精简代码的好帮手转载 2015-03-01 10:23:26 · 4043 阅读 · 0 评论 -
多线程求素数
public class test { int sum = 0; public void setSum(int sum) { this.sum += sum; } public static void main(String[] args) { test t = new test(); long begin, end; MyThread mt1 = new MyThr原创 2015-02-25 12:39:47 · 2848 阅读 · 0 评论 -
JDBC java连接Oracle基本方法
import java.sql.*;public class test { public static void main(String[] args) { Connection connection = null; Statement statement = null; ResultSet rs = null; try { // 1.加载驱动类 Class.fo转载 2015-02-26 10:54:48 · 1460 阅读 · 0 评论 -
Java 基于socket thread 简单聊天程序
Server:package app2;import java.awt.event.*;import java.io.*;import java.net.*;import java.text.SimpleDateFormat;import java.util.Date;import javax.swing.*;public class Server extends JFra原创 2015-02-17 15:18:34 · 1739 阅读 · 0 评论