java
文章平均质量分 77
茜茜770
不积跬步,无以至千里;不积小流,无以成江海。
展开
-
Java log框架使用指南
议题如下:引言 Java世界的log框架发展历程 什么是绑定实现(bingding) 什么是覆盖实现(override) 什么是桥接适配(bridge/route) 日志jar包之间的冲突 Spring-boot为我们做了什么? Reference引言眼花缭乱的日志jar包,让我们无从下手Java世界的log框架发展历程先来认识一个人Ceki Gulcu https://github.com/ceki Java世界所有的log框架都跟他有关系Java世界的.原创 2022-02-22 16:08:23 · 797 阅读 · 0 评论 -
JDK并发包---(3)重入锁ReentrantLock:锁申请等待限时
import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.ReentrantLock;public class TimeLock implements Runnable { public static ReentrantLock lock = new ReentrantLock(); @Override原创 2017-01-04 15:45:25 · 706 阅读 · 0 评论 -
javax.net.ssl.SSLHandshakeException
http://www.java-samples.com/showtutorial.php?tutorialid=210转载 2016-08-31 09:40:08 · 899 阅读 · 0 评论 -
win10设置java环境变量
首先,win10得找到设置的入口:Control Panel\All Control Panel Items\System找到advanced system settings原创 2016-07-06 19:18:27 · 950 阅读 · 0 评论 -
JavaBean 和 Map 之间互相转换
import java.beans.BeanInfo;import java.beans.IntrospectionException;import java.beans.Introspector;import java.beans.PropertyDescriptor;import java.lang.reflect.InvocationTargetException;import j原创 2013-12-20 16:15:50 · 10172 阅读 · 0 评论 -
用jdom创建中文的xml文件
package test;import java.io.File;public class DOMTest { private String outFile = "c:\\abc\\people.xml"; public static void main(String[] args) { new DOMTest(); } public DOMTest() { try原创 2016-06-06 13:40:56 · 521 阅读 · 0 评论 -
5种调优Java NIO和NIO.2的方式
Java NIO(New Input/Output)——新的输入/输出API包——是2002年引入到J2SE 1.4里的。Java NIO的目标是提高Java平台上的I/O密集型任务的性能。过了十年,很多Java开发者还是不知道怎么充分利用NIO,更少的人知道在Java SE 7里引入了更新的输入/输出 API(NIO.2)。这篇教程展示了5个在Java编程的一些常见场景里使用NIO和NIO.2包转载 2016-06-06 10:55:41 · 877 阅读 · 0 评论 -
HashSet,LinkedHashSet和TreeSet
package set;import java.util.HashSet;import java.util.LinkedHashSet;public class Test1 { public static void main(String a[]) { HashSet set = new HashSet(); set.add("a5"); set.add("a6")原创 2016-06-10 15:27:15 · 414 阅读 · 0 评论 -
java获得当前文件路径
第一种: File f = new File(this.getClass().getResource("/").getPath()); System.out.println(f); 结果: C:\Documents%20and%20Settings\Administrator\workspace\projectName\bin 获取当前类的所在工程路径; 如果不加“/”转载 2016-06-02 17:42:58 · 425 阅读 · 0 评论 -
RESTful Web 服务四种操作POST/DELETE/PUT/GET
表征状态转移(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。目前在三种主流的Web服务实现方案中,因为REST模式的Web服务与复杂的SOAP和XML-RPC对比来讲明显的更加简洁,越来越多的web服务开始采用REST风格设计和实现。例如,Amazon.com提供接近RE转载 2016-06-01 16:13:10 · 5474 阅读 · 0 评论 -
SOAP webserivce 和 RESTful webservice 对比及区别
简单对象访问协议(Simple Object Access Protocol,SOAP)是一种基于 XML 的协议,可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME),基于“通用”传输协议是 SOAP的一个优点。它还支持从消息系统到远程过程调用(Remote Procedure Call,RPC)等大量的应转载 2016-06-01 15:22:49 · 15036 阅读 · 1 评论 -
在java代码中获取JVM参数
MemoryMXBean memorymbean = ManagementFactory.getMemoryMXBean(); MemoryUsage usage = memorymbean.getHeapMemoryUsage(); System.out.println("INIT HEAP: " + usage.getInit()); Syste转载 2016-05-18 11:13:53 · 2953 阅读 · 0 评论 -
java.lang.OutOfMemoryError:GC overhead limit exceeded填坑心得
我遇到这样的问题,本地部署时抛出异常java.lang.OutOfMemoryError:GC overhead limit exceeded导致服务起不来,查看日志发现加载了太多资源到内存,本地的性能也不好,gc时间消耗的较多。解决这种问题两种方法是,增加参数,-XX:-UseGCOverheadLimit,关闭这个特性,同时增加heap大小,-Xmx1024m。坑填了,but why?OO转载 2016-05-18 11:03:16 · 3756 阅读 · 0 评论 -
alibaba druid学习资源
https://github.com/alibaba/druidhttps://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98原创 2016-05-16 16:54:32 · 437 阅读 · 0 评论 -
深入研究 Java Synchronize 和 Lock 的区别与用法
在分布式开发中,锁是线程控制的重要途径。Java为此也提供了2种锁机制,synchronized和lock。做为Java爱好者,自然少不了对比一下这2种机制,也能从中学到些分布式开发需要注意的地方。 我们先从最简单的入手,逐步分析这2种的区别。 一、synchronized和lock的用法区别 synchronized:在需要同步的对象中加入此控制,synchronized转载 2016-01-13 11:59:28 · 532 阅读 · 0 评论 -
JDK并发包---(4)重入锁ReentrantLock:锁申请无限等待且不会产生死锁
import java.util.Date;import java.util.concurrent.locks.ReentrantLock;public class TryLock implements Runnable { public static ReentrantLock lock1 = new ReentrantLock(); public static ReentrantL原创 2017-01-04 15:49:48 · 809 阅读 · 0 评论 -
JDK并发包---(5)重入锁ReentrantLock:公平锁
import java.util.concurrent.locks.ReentrantLock;public class FairLock implements Runnable { public static ReentrantLock lock = new ReentrantLock(true); @Override public void run() { while (tru原创 2017-01-04 15:51:29 · 650 阅读 · 0 评论 -
JDK并发包---(6)重入锁ReentrantLock搭档:Condition条件
import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.ReentrantLock;public class ReenterLockCondition implements Runnable { public static ReentrantLock lock = new Reentran原创 2017-01-04 15:54:49 · 649 阅读 · 0 评论 -
AOP静态代理与动态代理
AOP面相切面编程,是作为面向对象的一种补充,用于处理系统中分布于各个模块的横切关注点,比如事务管理,日志,缓存,异常等。AOP代理分类静态代理和动态代理静态代理静态代理就是AOP框架会在编辑阶段将Aspect植入java字节码中,生成AOP代理类,在运行的时候,是直接运行其增强的AOP对象,因此也称为编译时增强(反编译*.class可以发现和源代码不一样);AspectJ就是典型的静态代理增强;...原创 2018-05-17 16:12:14 · 1403 阅读 · 0 评论 -
Jboss的EJB容器的相关文档
https://docs.jboss.org/author/display/AS72/Container+interceptors?_sscc=thttps://issues.jboss.org/browse/AS7-6764?_sscc=thttps://issues.jboss.org/browse/AS7-6764https://docs.jboss.org/author/dis原创 2017-10-27 20:33:00 · 327 阅读 · 0 评论 -
HashMap原理
http://yikun.github.io/2015/04/01/Java-HashMap%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86%E5%8F%8A%E5%AE%9E%E7%8E%B0/原创 2017-09-25 14:33:21 · 309 阅读 · 0 评论 -
java中有趣的NaN类型
http://www.cnblogs.com/big-xuyue/p/4106130.html原创 2017-09-25 15:40:45 · 722 阅读 · 0 评论 -
JWT介绍
两篇国人非常有用的文章介绍:http://blog.leapoahead.com/2015/09/06/understanding-jwt/http://blog.leapoahead.com/2015/09/07/user-authentication-with-jwt/JWT官网:https://jwt.io/原创 2017-05-19 15:29:43 · 441 阅读 · 0 评论 -
Gson使用指南
写的很详细的Gson使用指南:http://www.jianshu.com/p/e740196225a4#原创 2017-02-04 12:42:54 · 335 阅读 · 0 评论 -
JDK并发包---(11)线程阻塞工具类:LockSupport
package org.miqi.thread.synchronous.control;import java.util.concurrent.locks.LockSupport;public class LockSupportDemo { public static Object u = new Object(); public static ChangeObjectThread原创 2017-02-09 16:20:58 · 683 阅读 · 0 评论 -
List转换成Map工具类
public class List2MapUtils { /** * K: key class type, V: value class type * * @param sourceList * @param keyName * key property * @param keyClass * key Class typ原创 2017-01-11 11:13:32 · 2463 阅读 · 1 评论 -
JDK并发包---(10)循环栅栏:CyclicBarrier
//CyclicBarrier反复线程计数:一个司令集结士兵,执行任务的例子import java.util.Random;import java.util.concurrent.BrokenBarrierException;import java.util.concurrent.CyclicBarrier;public class CyclicBarrierDemo { /**原创 2017-01-10 15:21:18 · 1023 阅读 · 0 评论 -
JDK并发包---(9)倒计时器:CountDownLatch
import java.util.Date;import java.util.Random;import java.util.concurrent.CountDownLatch;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class CountDownL原创 2017-01-09 18:37:34 · 704 阅读 · 0 评论 -
JDK并发包---(8)ReadWriteLock读写锁:替换ReentrantLock,提高性能
import java.util.Date;import java.util.Random;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;import java.util.concurrent.locks.ReentrantReadWriteLock;impo原创 2017-01-05 16:27:07 · 456 阅读 · 0 评论 -
JDK并发包---(7)允许多个线程同时访问的:信号量(Semaphore)
import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Semaphore;public class SemaphoreDemo implements Runnable { final Semaphore semaphore原创 2017-01-05 14:04:49 · 557 阅读 · 0 评论 -
JDK并发包---(2)重入锁ReentrantLock:中断响应
import java.util.concurrent.locks.ReentrantLock;/** * interrupted Lock * */public class IntLock implements Runnable { public static ReentrantLock原创 2017-01-04 15:41:30 · 1454 阅读 · 0 评论 -
JDK并发包---(1)重入锁ReentrantLock:基本使用
import java.util.concurrent.locks.ReentrantLock;public class ReenterLock implements Runnable { public static ReentrantLock lock = new ReentrantLock(); public static int i = 0; @Override public原创 2017-01-04 15:30:24 · 563 阅读 · 0 评论 -
[commons-attributes-api-2.2.jar]: Required extension [ant] not found.
web应用的war包部署到tomcat下面时有如下类似错误信息:[commons-attributes-api-2.2.jar]: Required extension [ant] not found.这个错误会导致项目启动失败,无法访问应用。这个问题出现的原因是commons-attributes-api-2.2.jar包的MF文件存在问题导致的。如果对这个jar包没有依赖,直接转载 2015-12-23 14:30:44 · 1497 阅读 · 0 评论 -
JMS简介与ActiveMQ实战
1. JMS架构 Java 消息服务(Java Message Service,简称JMS)是用于访问企业消息系统的开发商中立的API。企业消息系统可以协助应用软件通过网络进行消息交互。JMS 在其中扮演的角色与JDBC 很相似,正如JDBC 提供了一套用于访问各种不同关系数据库的公共API,JMS 也提供了独立于特定厂商的企业消息系统访问方式。使用JMS 的应用程序被称为JMS 客户转载 2015-12-02 13:40:36 · 728 阅读 · 0 评论 -
java中的clone()方法的研究---(4)如何编写正确的clone()方法:Wrapper Class
二:Wrapper Class(基本数据类型的包装类型):是对象的类型Wrapper Class都有哪些:基本数据类型占用内存大小包装类(Wrapper Class)byte1byteByteshort2bytesShortint4bytesIntegerlong8byt原创 2015-04-24 13:56:13 · 1910 阅读 · 0 评论 -
java中的clone()方法的研究---(1)自定义的类如何才可以被clone
读了张纪刚老湿的博客---《详解Java中的clone方法 -- 原型模式》http://blog.csdn.net/zhangjg_blog/article/details/18369201 我受益匪浅,下面此基础上,结合我自己的理解总结一下。一个自定义的类如何才可以被clone。。。对我java基础不扎实的我,我以为java的超类Object有clone()原创 2015-04-22 16:56:53 · 1793 阅读 · 0 评论 -
java中的clone()方法的研究---(2)浅克隆和深克隆
网上铺天盖地,写了那么多浅克隆和深克隆的区别,小妹我自己来个精辟的总结(也不知道对不对呢)浅克隆:传引用深克隆:传值下面上图,进行具体说明,内容有点黄哦浅克隆示意图:浅克隆的几点说明:对象:“酒店的房间”。引用:“钥匙”默认情况,一个房间配一把钥匙进行浅克隆之后,其实是配了多把相同的钥匙!!!这些钥匙打开的,是同一个“酒店原创 2015-04-23 15:30:10 · 924 阅读 · 3 评论 -
一张图,讲明白UML类图
原创 2015-03-18 11:17:29 · 614 阅读 · 0 评论 -
sun.misc.BASE64Encoder 类找不到的原因
换了JDK7后发现提示找不到该类,事实上,sun.misc包都是sun公司的内部类,并没有在java api中公开过,不建议使用,所以使用这些方法是不安全的,将来随时可能会从中去除,所以相应的应该使用替代的对象及方法 如:org.apache.commons.codec.binary.Base64类官方地址:http://commons.apach原创 2015-02-26 09:47:27 · 6616 阅读 · 0 评论 -
LinkedHashMap和HashMap的比较使用
由于现在项目中用到了LinkedHashMap,并不是太熟悉就到网上搜了一下。import java.util.HashMap;import java.util.Iterator;import java.util.LinkedHashMap;import java.util.Map;public class TestLinkedH转载 2014-09-04 14:48:19 · 640 阅读 · 0 评论