
JAVA
文章平均质量分 69
追逐方向的风
克己养晦
展开
-
伪共享(FalseSharing)
原文地址:http://ifeve.com/false-sharing/缓存系统中是以缓存行(cache line)为单位存储的。缓存行是2的整数幂个连续字节,一般为32-256个字节。最常见的缓存行大小是64个字节。当多线程修改互相独立的变量时,如果这些变量共享同一个缓存行,就会无意中影响彼此的性能,这就是伪共享。缓存行上的写竞争是运行在SMP系统中并行线程实现可伸缩性最重要的限制因素。有人将伪...转载 2018-03-31 14:59:38 · 477 阅读 · 0 评论 -
IP地址获取
package com.xxx.xxx.address;import java.net.Inet4Address;import java.net.InetAddress;import java.net.NetworkInterface;import java.net.SocketException;import java.util.ArrayList;import java.uti转载 2017-08-10 20:24:16 · 303 阅读 · 0 评论 -
Mac地址获取工具类
package com.xxx.xxx.address;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.InetAddress;import java.net.NetworkInterface;impor转载 2017-08-10 20:21:58 · 1805 阅读 · 0 评论 -
VB操作EXCEL方法汇总
转自:http://bhjsyx.bhjy.net/tresearch/blog/showArticle.jsp?ArticleCode=685187137&CID=00047Private Sub Command3_Click() Dim i As Long Dim j As Long Dim objExl As Excel.Applicatio转载 2017-06-22 21:30:44 · 5028 阅读 · 0 评论 -
Jmap
jmap命令:jmap命令有下面几种常用的用法:•jmap [pid]•jmap -histo:live [pid] >a.log•jmap -dump:live,format=b,file=xxx.xxx [pid]原创 2017-08-02 19:57:19 · 941 阅读 · 0 评论 -
JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解
转自:https://my.oschina.net/feichexia/blog/196575摘要: JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat、hprof等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。 现实企业级J转载 2017-08-02 19:55:33 · 389 阅读 · 0 评论 -
Java 内存分配详解
Java栈与堆堆:顺序随意栈:后进先出(Last-in/First-Out). Java的堆是一个运行时数据区,类的对象从中分配空间。这些对象通过new、newarray、anewarray和multianewarray等指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是在转载 2017-08-09 10:01:48 · 295 阅读 · 0 评论 -
SFTP-上传下载工具类
package com.xxx.patchgen.utils;import java.io.File;import java.util.HashMap;import java.util.Map;import java.util.Properties;import com.jcraft.jsch.Channel;import com.jcraft.jsch.ChannelSftp;原创 2017-07-19 10:12:39 · 1404 阅读 · 0 评论 -
JVM内存区域详解
转自:http://blog.youkuaiyun.com/shiyong1949/article/details/52585256JVM区域总体分两类,heap区和非heap区。 heap区又分为: - Eden Space(伊甸园)、 - Survivor Space(幸存者区)、 - Old Gen(老年代)。非heap区又分: - Code Cache(代码缓存区)转载 2017-07-31 13:39:23 · 263 阅读 · 0 评论 -
Jconsole连接远程Jetty
在start.ini中加入以下参数--execOPTIONS=Server,jsp,jmx,resources,websocket,ext,plus,annotations #jmx必须有-Djava.rmi.server.hostname=192.168.1.122-Dcom.sun.management.jmxremote-Dcom.sun.manage原创 2017-07-31 11:14:34 · 979 阅读 · 0 评论 -
FTP-上传下载工具类
package com.xxx.patchgen.utils;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;import org.apache.common原创 2017-07-18 19:20:42 · 552 阅读 · 0 评论 -
实时打印GC日志
启动参数添加:-server -Xms16384m -Xmx16384m -verbose:gc -Xloggc:gc.log原创 2017-08-04 13:44:34 · 967 阅读 · 0 评论 -
Executor框架
转自:http://www.iteye.com/topic/366591/Executor框架是指java 5中引入的一系列并发库中与executor相关的一些功能类,其中包括线程池,Executor,Executors,ExecutorService,CompletionService,Future,Callable等。他们的关系为: 并发编程的一种编转载 2017-08-21 09:38:11 · 256 阅读 · 0 评论 -
Java并发编程中Semaphore的用法
转自:http://blog.youkuaiyun.com/sinat_36246371/article/details/53872412Semaphore又称信号量,是操作系统中的一个概念,在Java并发编程中,信号量控制的是线程并发的数量。public Semaphore(int permits)1其中参数permits就是允许同时运行的线程数目;下面先看一个信号量实现单线程的例子,也就是permits=...转载 2018-03-01 10:22:35 · 276 阅读 · 0 评论 -
高性能队列——Disruptor
转自:https://tech.meituan.com/disruptor.html背景Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与I/O操作处于同样的数量级)。基于Disruptor开发的系统单线程能支撑每秒600万订单,2010年在QCon演讲后,获得了业界关注。2011年,企业应用软件专家转载 2018-01-30 10:40:55 · 683 阅读 · 0 评论 -
Java QUEUE使用总结
转自:http://www.linuxidc.com/Linux/2016-12/137811.htm在并发队列上,JDK提供了2套实现,一个是以ConcurrentLinkedQueue为代表的高性能非阻塞队列,一个是以BlockingQueue接口为代表的阻塞队列,无论哪种都继承自Queue。使用阻塞算法的队列可以用一个锁(入队和出队用同一把锁)或两个锁(入队和出队用不同的锁)等方式来实现,而转载 2018-01-19 09:32:02 · 1542 阅读 · 0 评论 -
Java中的clone方法-深拷贝与浅拷贝
原文:http://blog.youkuaiyun.com/zhangjg_blog/article/details/18369201/Java中对象的创建clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象。所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象。那么在java语言中,有几种方式可以创建对象呢?转载 2017-11-24 14:57:04 · 358 阅读 · 0 评论 -
Java 形参与实参
转自:https://dailycast.github.io/Java-形参与实参/ 前几天在头条上看到一道经典面试题,引发了一些思考。也是写这篇文章的导火索。背景请看题:12345678910111213public class Main { public static void main(St转载 2017-12-01 18:55:17 · 5525 阅读 · 5 评论 -
并发编程之ThreadLocal、Volatile、synchronized、Atomic关键字扫盲
原文:https://www.2cto.com/kf/201601/486898.html前言对于ThreadLocal、Volatile、synchronized、Atomic这四个关键字,我想一提及到大家肯定都想到的是解决在多线程并发环境下资源的共享问题,但是要细说每一个的特点、区别、应用场景、内部实现等,却可能模糊不清,说不出个所以然来,所以,本文就对这几个关键字做一转载 2017-11-13 17:35:22 · 295 阅读 · 0 评论 -
DES加密工具类
package com.xxx.xxxxx.utils;import java.security.Key;import javax.crypto.Cipher;public class DesTool{ //密钥 public static final String key = "00pkgtooll102m9384y756fpkgt原创 2017-09-20 15:27:19 · 362 阅读 · 0 评论 -
SynchronizedMap和ConcurrentHashMap的深入分析
转自:http://www.cnblogs.com/grefr/p/6094888.html在开始之前,先介绍下Map是什么?javadoc中对Map的解释如下:An objectthat maps keys to values . Amap cannot contain duplicatekeys; each key can map to at most one va转载 2017-08-31 15:53:48 · 293 阅读 · 0 评论 -
图片验证码生成工具类
import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.RenderingHints;import java.awt.geom.AffineTransform;import java.awt.image.BufferedI转载 2017-08-30 14:33:11 · 400 阅读 · 0 评论 -
Jface的CheckboxTreeViewer扩展类
import java.util.ArrayList;import java.util.List;import org.eclipse.jface.viewers.CheckStateChangedEvent;import org.eclipse.jface.viewers.CheckboxTreeViewer;import org.eclipse.jface.viewer原创 2017-07-12 11:26:57 · 656 阅读 · 0 评论 -
Http模拟请求工具类
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.URL;import java.net.URLConnection;import java.net.URLEncoder;原创 2017-06-21 18:22:34 · 402 阅读 · 0 评论 -
Log 打印工具类
package com.xxx.patchgen.utils;import java.io.File;import java.io.FileWriter;import java.util.Calendar;public class LogPrinter { private static StringBuilder Logs = new StringBuilder(); priv原创 2017-03-09 19:45:00 · 282 阅读 · 0 评论 -
Excel-生成工具类
package com.xxx.statistic.file;import java.io.FileOutputStream;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.List;import java.util.Map;im原创 2017-03-09 19:41:19 · 355 阅读 · 0 评论 -
修改War包文件
一、工具类package com.xxx.fmbp.install.coms.cas;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java原创 2017-03-08 18:38:23 · 2967 阅读 · 0 评论 -
Java-内存管理
Java内存管理:深入Java内存区域 转自:http://www.cnblogs.com/gw811/archive/2012/10/18/2730117.html Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。 概述: 对于从事C和C++程序开发的开发人员来说,在内存管理领域,他们既是拥有最转载 2017-02-27 21:24:56 · 419 阅读 · 0 评论 -
初识ActiveMQ
一、下载与安装部署1、下载:ActiveMQ2、解压文件,运行bin目录的win64(64位)/win32(32位)目录下的InstallService.bat。安装服务成功后,再次运行会提示:wrapper | CreateService failed - 指定的服务已存在。 (0x431) 证明服务已经安装成功。3、运行activemq.bat,启动服务。翻译 2015-12-25 08:46:07 · 1403 阅读 · 0 评论 -
初识Spring
初识Spring介绍特性构建WebService定时任务一、介绍 Spring框架为基于JAVA的跨平台的现代企业级应用提供了综合性的编程和配置模型。Spring使企业开发人员不用去关心一些非必要的特定的“调度”环境,团队只需集中精力处理应用层的业务逻辑。以此来提高企业应用开发效率。二、特性 1、依赖注入2、面向切面3、mvc & RESTful WebService翻译 2015-12-26 16:10:31 · 397 阅读 · 0 评论 -
Spring之检测设备类型
Detecting a Device 目标: 创建一个可以检测出访问你的站点的设备类型的MVC应用 以便动态的切换适配于设备的视图自动配置 - DeviceResolverHandlerInterceptor: 自动解析请求头中的“User-Agent“,来判断请求来自以下三种设备之一 1、普通浏览器 2、手机浏览器 3、平板浏览器 - DeviceHandlerMet翻译 2015-12-27 15:47:22 · 1234 阅读 · 0 评论 -
Spring之访问(消费)WebService
Consuming a RESTful Web Service 目标: 使用Spring提供的RestTemplate从以下站点 http://gturnquist-quoters.cfapps.io/api/random 获取WebService返回的信息信息以json格式随机返回 格式如下:{ type: "success", value: {翻译 2015-12-27 16:21:48 · 786 阅读 · 0 评论 -
Spring之使用JDBC访问关系数据
Accessing Relational Data using JDBC with Spring 目标: 使用JdbcTemplate访问关系数据库添加依赖:<dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId></dependency> 注:H2, an in-mem翻译 2015-12-27 19:22:47 · 547 阅读 · 0 评论 -
Properties 读取工具类
package com.xxx.patchgen.utils;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.util.Properties;/** *@Description: 属性文件读取原创 2017-03-09 19:48:31 · 248 阅读 · 0 评论 -
Gson 转换工具类
package com.xxx.statistic.util;import java.lang.reflect.Type;import java.util.ArrayList;import java.util.List;import java.util.Map;import java.util.Set;import com.google.gson.Gson;import com.原创 2017-03-09 19:52:59 · 2051 阅读 · 0 评论 -
接口MD5签名校验工具类
签名算法过程1、对除签名外的所有请求参数按key做ASCII升序排列,value无需编码。(假设当前时间的时间戳是12345678)例如:有c=3,b=2,a=1 三个参,另加上时间戳后, 按key排序后为:a=1,b=2,c=3,_timestamp=12345678。2、把参数名和参数值连接成字符串,得到拼装字符:a1b2c3_timestamp123456783、用约定的ap原创 2017-06-21 18:21:00 · 1863 阅读 · 1 评论 -
可重入锁与自旋锁
转自:http://ifeve.com/java_lock_see4/锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) 。这些已经写好提供的锁为我们开发提供了便利,但是锁的具体性质以及类型却很少被提及。本系列文章将分析JAVA下常见的锁名称以及特性,为大家答疑解惑。可重入锁:本文里面讲的转载 2017-05-03 18:20:14 · 2353 阅读 · 0 评论 -
JMX-入门
转自:http://www.cnblogs.com/dongguacai/p/5900507.html一、JMX的定义 JMX(Java Management Extensions)是一个为应用程序植入管理功能的框架。JMX是一套标准的代理和服务,实际上,用户可以在任何Java应用程序中使用这些代理和服务实现管理。这是官方文档上的定义,我看过很多次也无法很好的理解。我转载 2017-03-25 22:55:36 · 269 阅读 · 0 评论 -
Log4j-详细教程
转自:http://www.codeceo.com/article/log4j-usage.html日志是应用软件中不可缺少的部分,Apache的开源项目log4j是一个功能强大的日志组件,提供方便的日志记录。在apache网站:jakarta.apache.org/log4j 可以免费下载到Log4j最新版本的软件包。一、入门实例1.新建一个JAva工程,导入包log转载 2017-03-14 21:03:26 · 376 阅读 · 0 评论 -
Log4j.properties配置
Log4j.properties配置原创 2016-01-18 16:35:29 · 407 阅读 · 0 评论