
Java
文章平均质量分 55
老猿说说
Java老猿
展开
-
版本号后面的字母含义
RC:版本 (Release Candidate) Candidate是候选人的意思,用在软件上就是候选版本。Release是发行、发布的意思。Release.Candidate.就是发行候选版本。和Beta版最大的差别在于Beta阶段会一直加入新的功能,但是到了RC版本,几乎就不会加入新的功能了,而主要着重于除错!GA版本在很多软件下载的时候,你会发觉标识为GA或者CRx等。比如MySQL和JBoss都采用这种标识。那什么是GA呢。GA是GenerallyAvailable的缩写,意思.原创 2021-02-18 17:37:36 · 2999 阅读 · 0 评论 -
java中正则匹配贪婪模式和非贪婪模式实例
java中正则匹配贪婪模式和非贪婪模式实例贪婪模式和非贪婪模式指的是在正则匹配过程中的行为。贪婪模式:匹配最长的匹配值 非贪婪模式:匹配最短的匹配值java中的Pattern支持贪婪和非贪婪模式,通过不同的表达式区分贪婪模式表达式:表达式 含义 X? X,一次或一次也没有 X* X,零次或多次 X+ X,一次或多次 X{n} X,恰好 n 次 X{n,} X,至少 n 次 X{n,m} X,至少 n 次,但是不超过 m 次转载 2020-10-29 15:32:38 · 898 阅读 · 0 评论 -
HttpClient
RedirectExec final RequestConfig config = context.getRequestConfig(); final int maxRedirects = config.getMaxRedirects() > 0 ? config.getMaxRedirects() : 50; HttpRoute currentRoute ...原创 2018-12-04 10:52:30 · 344 阅读 · 0 评论 -
Java堆外内存增长问题排查Case
Java堆外内存增长问题排查Case最近排查一个线上java服务常驻内存异常高的问题,大概现象是:java堆Xmx配置了8G,但运行一段时间后常驻内存RES从5G逐渐增长到13G #补图#,导致机器开始swap从而服务整体变慢。由于Xmx只配置了8G但RES常驻内存达到了13G,多出了5G堆外内存,经验上判断这里超出太多不太正常。前情提要–JVM内存模型开始逐步对堆外内存进行排查,首...转载 2018-11-27 20:00:53 · 7966 阅读 · 0 评论 -
jpa
@Query(value = "select name,author,price from Book b where b.name = :name AND b.author=:author AND b.price=:price")List<Book> findByNamedParam(@Param("name") String name, @Param("author&a原创 2019-01-17 11:18:35 · 125 阅读 · 0 评论 -
Arthas阿尔萨斯
ArthasArthas是Alibaba开源的Java诊断工具,深受开发者喜爱。当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? 线上遇到某个用户...转载 2019-01-24 10:00:09 · 459 阅读 · 0 评论 -
Zookeeper源码分析
Zookeeper源码分析Zookeeper的启动流程zookeeper的主类是QuorumPeerMain,启动时读取zoo.cfg配置文件,如果没有配置server列表,则单机模式启动,否则按集群模式启动,这里只分析集群模式根据配置初始化quorumPeer对象,并启动quorumPeer线程,这里主要做了几件事情 读取保存在磁盘上的数据,包括db的snapshot和txnlog,...转载 2019-01-28 14:47:56 · 235 阅读 · 0 评论 -
Log4j
本节介绍Log4j的输出格式的详细说明1、PatternLayout参数//charset ##指定字符集pattern ##指定格式alwaysWriteExceptions ##默认为true,输出异常header ##可选项。包含在每个日志文件的顶部footer ##可选项。包含在每个日志文件的尾部。2、pattern属性参数格式描述######### 常见参数 ###...转载 2019-02-21 16:03:51 · 151 阅读 · 0 评论 -
idea启动多个tomcat失败
idea启动多个tomcat失败Intellij idea中,为在本地调试两个系统之间的调用,配置两个本地tomcat server,设置不同的端口号,如8081和8082,Deploy中加入两个系统各自的Artifact xxx:war, Application context设置为“/“,即访问地址分别为http://localhost:8081/和http://localhost:8...转载 2019-03-06 15:25:39 · 374 阅读 · 0 评论 -
http post 文件报文
假设接受文件的网页程序位于 http://192.168.29.65/upload_file/UploadFile.假设我们要发送一个图片文件,文件名为“kn.jpg”,首先客户端链接 192.168.24.56 后, 应该发送如下http 请求: POST/logsys/home/uploadIspeedLog!doDefault.html HTTP/1.1 Accept: tex...转载 2019-03-04 10:38:04 · 3123 阅读 · 0 评论 -
jstat命令使用
类加载统计:C:\Users\Administrator>jstat -class 2060Loaded Bytes Unloaded Bytes Time 15756 17355.6 0 0.0 11.29Loaded:加载class的数量Bytes:所占用空间大小Unloaded:未加载数量Bytes:未加载占用空间Time...原创 2019-04-11 16:46:12 · 142 阅读 · 0 评论 -
gc配置
JVM的GC日志的主要参数包括如下几个:-XX:+PrintGC 输出GC日志-XX:+PrintGCDetails 输出GC的详细日志-XX:+PrintGCTimeStamps 输出GC的时间戳(以基准时间的形式)-XX:+PrintGCDateStamps 输出GC的时间戳(以日期的形式,如2013-05-04T21:53:59.234+0800)-XX:+PrintH...原创 2020-11-10 13:10:14 · 179 阅读 · 0 评论 -
JWT
JSON Web Token(JWT)是目前最流行的跨域身份验证解决方案。虫虫今天给大家介绍JWT的原理和用法。1.跨域身份验证Internet服务无法与用户身份验证分开。一般过程如下。1.用户向服务器发送用户名和密码。2.验证服务器后,相关数据(如用户角色,登录时间等)将保存在当前会话中。3.服务器向用户返回session_id,session信息都会写入到用户的Cookie...转载 2019-05-25 21:18:52 · 196 阅读 · 0 评论 -
SkyWalking
SkyWalking 是针对分布式系统的 APM 系统,也被称为分布式追踪系统 全自动探针监控,不需要修改应用程序代码。查看支持的中间件和组件库列表:https://github.com/apache/incubator-skywalking 支持手动探针监控, 提供了支持 OpenTracing 标准的SDK。覆盖范围扩大到 OpenTracing-Java 支持的组件。查看Ope...转载 2019-05-27 16:51:13 · 2677 阅读 · 0 评论 -
代理http请求获取客户端IP
外界流传的JAVA/PHP服务器端获取客户端IP都是这么取的:伪代码:1)ip = request.getHeader("X-FORWARDED-FOR ")2)如果该值为空或数组长度为0或等于"unknown",那么:ip = request.getHeader("Proxy-Client-IP")3)如果该值为空或数组长度为0或等于"unknown",那么:ip = request...转载 2018-10-29 10:12:27 · 4958 阅读 · 0 评论 -
socket read
在调用socket读写函数read(),write()时,都会有返回值。如果没有正确处理返回值,就可能引入一些问题总结了以下几点1当read()或者write()函数返回值大于0时,表示实际从缓冲区读取或者写入的字节数目2当read()函数返回值为0时,表示对端已经关闭了 socket,这时候也要关闭这个socket,否则会导致socket泄露。netstat命令查看下,如果有c...转载 2018-10-12 17:09:08 · 17109 阅读 · 0 评论 -
孰优孰劣?Dubbo VS Spring Cloud性能测试大对决!
孰优孰劣?Dubbo VS Spring Cloud性能测试大对决!原创 2017-01-24 From ImportSource 最近我们试图从Dubbo迁移到Spring Cloud。为此对二者分别进行了性能测试。为了得出数据量不同的情况下的二者的性能表现,我们分别准备了一个25个属性pojo对象和一个50个属性的pojo对象,通过这样的方式我们也可以间接地了解转载 2017-07-10 14:31:09 · 1349 阅读 · 0 评论 -
关于hashcode 里面 使用31 系数的问题
关于hashcode 里面 使用31 系数的问题发表于 2012-03-19 | 分类于 未分类 | 首先我们来了解一下hashcode,什么是hashcode?有什么作用?hashcode其实就是散列码,使用hashcode使用高效率的哈希算法来定位查找对象!我们在使用容器来存储数据的时候会计算一串散列码,然后将数据放入容器。转载 2017-07-06 09:39:20 · 196 阅读 · 0 评论 -
HBase HFile与Prefix Compression内部实现全解
HBase HFile与Prefix Compression内部实现全解--KeyValue格式发表于 2012-02-20 | 分类于 未分类 | ## 1. 引子HFile (HBase File)是HBase使用的一种文件存储格式的抽象,目前存在两种版本的HFile: HFile V1和HFile V2HBase 0.92之前转载 2017-07-06 09:30:26 · 281 阅读 · 0 评论 -
JAVA线程池ThreadPoolExecutor
从Java5开始,Java提供了自己的线程池。每次只执行指定数量的线程,java.util.concurrent.ThreadPoolExecutor 就是这样的线程池。以下是我的学习过程。首先是构造函数签名如下:[java] view plain copy print?public ThreadPoolExecutor(int co转载 2017-07-26 14:04:05 · 230 阅读 · 0 评论 -
多线程40个问题
40个问题汇总1、多线程有什么用?一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡。所谓”知其然知其所以然”,”会用”只是”知其然”,”为什么用”才是”知其所以然”,只有达到”知其然知其所以然”的程度才可以说是把一个知识点运用自如。OK,下面说说我对这个问题的看法: (1)发挥多核CPU的优势 随着工业的进步,现在的笔记本、转载 2017-09-30 17:52:37 · 381 阅读 · 0 评论 -
java正则 Pattern和Matcher
Java正则表达式通过java.util.regex包下的Pattern和Matcher类实现Pattern类用于创建一个正则表达式,也可以说是创建一个匹配模式,可以通过两个静态方法创建:compile(String regex)和compile(String regex,int flags),其中regex是正则表达式,flags为可选模式(如:Pattern.CASE_INSENSIT转载 2017-11-02 14:00:14 · 207 阅读 · 0 评论 -
spring切面
xml配置 <beans xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation=" http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/sprin原创 2017-11-01 09:51:10 · 210 阅读 · 0 评论 -
jetty-test
maven <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> <version>8.1.8.v20121106</version> <scope>test</scope>原创 2017-12-04 09:40:33 · 240 阅读 · 0 评论 -
计算对象空间大小
创建MANIFEST.MF(注意:最后一行为空行)Premain-Class: SizeOfAgentCan-Redefine-Classes: false附:可执行jarManifest-Version: 1.0Main-Class: com.smart.cache.PressureTest建目录sizeof,把SizeOfAgent和SizeOfAgentTe...原创 2018-02-09 14:52:52 · 393 阅读 · 0 评论 -
打包为可执行jar例子
xml version="1.0" encoding="UTF-8"?>xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4原创 2018-02-07 15:07:21 · 229 阅读 · 0 评论 -
分布式系统的跟踪系统:Dapper设计给我们的启示
在2010年,google发表了一篇名为“Dapper, a Large-Scale Distributed Systems Tracing Infrastructure”的论文,在文中介绍了google生产环境中大规模分布式系统下的跟踪系统Dapper的设计和使用经验。而zipkin/pinpoint/hydra/watchman/鹰眼等系统都是基于这篇文章而实现的。重新再读这篇文章,简单整理如...转载 2018-06-19 15:18:55 · 357 阅读 · 0 评论 -
并发基础
synchronized方法级代码块级异常自动释放字符串? 必须同一个对象wait() notify()单例1.public static DubbleSingleton getInstance(){ if(instance== null){ synchronized (DubbleSingle...原创 2018-07-15 23:55:30 · 137 阅读 · 0 评论 -
tomcat maxConnections、maxThreads、acceptCount
个人对tomcat连接器3个属性maxConnections、maxThreads、acceptCount的理解:先摘取官网对这3个属性的描述: acceptCount The maximum queue length for incoming connection requests when all possible request processing threads are...转载 2018-08-08 18:07:48 · 245 阅读 · 0 评论 -
JVM参数
示例为默认值的不需要配置,使用默认设置JVM参数参数名称 含义 默认值 示例 说明 -Xms 初始堆大小 物理内存的1/64(<1GB) ,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值 -Xms1000M 默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会...转载 2018-08-31 13:34:45 · 150 阅读 · 0 评论 -
NIO与IO在Net中的区别
感性认识:传统的socket IO中,需要为每个连接创建一个线程,当并发的连接数量非常巨大时,线程所占用的栈内存和CPU线程切换的开销将非常巨大。使用NIO,不再需要为每个线程创建单独的线程,可以用一个含有限数量线程的线程池,甚至一个线程来为任意数量的连接服务。由于线程数量小于连接数量,所以每个线程进行IO操作时就不能阻塞,如果阻塞的话,有些连接就得不到处理,NIO提供了这种非阻塞的能力。转载 2015-01-06 20:43:24 · 1607 阅读 · 0 评论