![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
zlp1992
这个作者很懒,什么都没留下…
展开
-
Maven编译提示“Malformed \uxxxx encoding”
Maven编译提示“Malformed \uxxxx encoding”原创 2022-09-19 14:52:00 · 2823 阅读 · 3 评论 -
MacOS Maven compile提示“No compiler is provided in this environment. Perhaps you are running on a JRE”
使用maven编译项目时提示“No compiler is provided in this environment. Perhaps you are running on a JRE”原创 2022-07-26 10:24:15 · 610 阅读 · 0 评论 -
Pinpoint本地调试
如何本地调试这里的本地调试实际上是本地远程debug,除了需要pinpoint源码,还需要一个使用我们编译后的pinpoint agent的应用执行命令./mvnw install -DskipTests=true编译好agent jar包放到特定目录在应用中配置需要agent参数,同时配置debug参数,如下-Xdebug -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005 -javaagent:"/Users/原创 2020-07-04 08:37:34 · 1149 阅读 · 0 评论 -
Pinpoint Agent加载流程分析
pinpoint 版本:2.0.3-SNAPSHOTpinpoint利用java agent 特性,提供了一个agent jar包,此jar包会在应用运行之前先运行,agent和应用在同一个进程。pinpoint通过对各个第三方包编写特定的插件,这些插件在agent运行时被加载,通过ASM对第三方包的类进行修改(Intercetor),应用在运行时使用的第三方包的类即是pinpoint修改后的,从而实现全链路追踪的目的。Agent加载流程agent的入口在 com.navercorp.pinpoint原创 2020-06-29 19:56:14 · 1234 阅读 · 0 评论 -
Gradle: MetaDataParseException: inconsistent module metadata found
在使用gradle编译的时候报错:inconsistent module metadata found,期望的是 1.8.8-SNAPSHOT 但是发现 1.9.0-SNAPSHOT版本Caused by: org.gradle.api.internal.artifacts.ivyservice.ivyresolve.parser.MetaDataParseException: inconsistent module metadata found. Descriptor: ..., Errors: bad原创 2020-05-21 15:18:30 · 2562 阅读 · 0 评论 -
Mybatis xml orderby 排序字段不生效问题
今天想实现一个功能,根据给定的字段,以及是否升降序来对数据动态排序,xml实现如下 order by #{orderBy} #{orderType} <if test="pageSearch!=null and 'true'.toString() == pageSearch.toString()"> limit #{limit} offset #{offse...原创 2020-02-19 17:42:58 · 3144 阅读 · 0 评论 -
Redis整数集合为什么不支持降级?
在讨论redis的整数集合的时候,我们一直知道的是整数集合支持升级,但是不支持降级,其中的原因有仔细想过吗?先说一下升级:当我们要将一个新元素添加到整数集合里面,并且新元素的类型比整数集合现有所有元素的类型都要长时,整数集合需要先进行升级,然后才能将新元素添加到整数集合里面。再来谈谈为什么不支持降级?假设支持降级,这里要问两个问题:什么时候降级?降级到何种级别的数据类型?什么时候降级...原创 2020-02-18 21:42:51 · 550 阅读 · 1 评论 -
Java8 HashMap扩容时为什么不需要重新hash
java8在实现HashMap时做了一系列的优化,其中一个重要的优化即在扩容的时候,原有数组里的数据迁移到新数组里不需要重新hash,而是采用一种巧妙的方法,代码如下: table = newTab; if (oldTab != null) { for (int j = 0; j < oldCap; ++j) { ...原创 2020-02-18 16:09:49 · 7620 阅读 · 7 评论 -
Java中如何正确的关闭线程池ExecutorService
概念ExecutorService关于关闭主要有如下几个方法shutdown:在线程池队列中的提交的任务会执行,无法提交新的任务,注意调用这个方法,线程池不会等待(wait)在执行的任务执行完成,可以使用awaitTermination实现这个目的。这里需要注意的是:在执行的任务因为是异步线程执行的,任务还是会继续执行,只是说线程池不会阻塞等待任务执行完成List<Runnable&...原创 2020-02-06 17:12:10 · 7720 阅读 · 1 评论 -
RMI应用的部署及类的动态加载
这是根据我上一篇Java RMI实例的代码进行的配置原创 2014-10-25 19:30:27 · 2074 阅读 · 0 评论 -
java RMI实现实例
在JDK5.0以前的版本中,需要用rmic命令来为远程对象生成静态的代理类,而在JDK5.0中,RMI框架会在运行时自动为远程对象生成动态代理类,本人使用的JDK版本为“1.7.0_65”例子中总共有四个文件,四个文件在同一个目录下1. Calculator.java 接口文件,必须实现java.rmi.Remote接口,该接口定义了所有的提供远程服务的功能,每个定义的方法都必须原创 2014-10-25 19:18:18 · 869 阅读 · 0 评论 -
Java NIO之 Java NIO Overview(译)
看到一个国外的作者写的关于java的文章还不错,于是便翻译过来了,再加上自己的一些理解原文地址:Java NIO OverviewJava NIO主要由下面三个核心组件构成:Channels(通道)Buffers(缓冲)Selectors(选择器)除了上面三个,java nio还有许多的类和组件,但是 Channel、Buffer和Selector组成了核心的API。剩下的组件,比如 Pip翻译 2016-10-21 16:35:14 · 402 阅读 · 0 评论 -
Java中的信号量Semaphore
参考资料: 1. http://blog.csdn.net/zmx729618/article/details/51593666 2. jdk官方文档java提供了一个类Semaphore来实现信号量,概念上讲,一个信号量相当于持有一些许可(permits),线程可以调用Semaphore对象的acquire()方法获取一个许可,调用release()来归还一个许可1 构造方法: Se原创 2016-09-30 10:10:10 · 6602 阅读 · 0 评论 -
Java实现多线程多节点下载
对于一个资源文件,如何使用多线程下载以提高下载效率?一个方法是把要下载的文件分成几块利用多个线程同时下载,保存在本地的时候则需要知道每个线程所下载的部分对应于整个文件的位置,可以使用RandAccessFile支持随机存取。package com.idc.downloader;import java.io.InputStream;import java.io.RandomAccessFile;i原创 2016-01-18 18:01:52 · 896 阅读 · 0 评论 -
Java中的ArrayList理解(一)
ArrayList类继承关系如下图所示:ArrayList是对接口List的一个实现,其能够自动扩展容量,同时其可以存放null值(即 ArrayList.add(null)),它与Vector类很相似,但是ArrayList里的方法不是 synchronized,即其非线程安全(注意 虽然说Vector里的方法是synchronized,但也不能保证其一定是线程安全的,可见Vector是否线程安全原创 2016-01-20 20:03:29 · 552 阅读 · 0 评论 -
Java Vector线程安全?
Java Vector在多线程下是否是线程安全的原创 2015-12-30 12:35:43 · 11919 阅读 · 3 评论 -
Java里的Arrays.asList
参考资料: Java编程思想Arrays是一个工具类,没有实现任何其它接口,也没有继承除Object之外的任何类。其作用是将泛型可变参数转换成一个固定长度的List对象,在Java编程思想中这样描述到:”Arrays.asList()方法的限制是它对所产生的List的类型做出了最理想的假设,而并没有注意你对它会赋予什么样的类型” 我们看下下面这个例子class Snow{}c原创 2015-12-18 13:58:57 · 634 阅读 · 0 评论 -
Could not find an appender,Did you define it below instead of above in the configuration file?
在使用logback配置日志的时候报错:ERROR in ch.qos.logback.core.joran.action.AppenderRefAction - See http://logback.qos.ch/codes.html#appender_order for more details.ERROR in ch.qos.logback.core.joran.action.Appen...原创 2019-12-04 19:52:02 · 29678 阅读 · 0 评论 -
缓存的一些基本概念
缓存雪崩概念缓存雪崩是指应用里有许多缓存key在某一时刻全部失效,这个时候请求这些数据时,由于缓存中已经没有了,导致全部查询db,严重情况下会打垮db,这里的关键是许多key在某一时刻全部失效解决方案为不同的key设置不同的过期时间,一般可以在需要的过期时间的基础上再加上随机值加锁排队:这种方式适用于并发量不是很多的情况。在缓存失效后,通过加锁或者队列来控制读数据库写缓存的线程数量。比...原创 2019-12-04 10:16:54 · 180 阅读 · 0 评论 -
java解压Apk文件
java解压apk文件,并获取apk文件中指定的文件原创 2015-04-21 13:22:07 · 3691 阅读 · 0 评论 -
深入理解Java的接口和抽象类
原文地址:深入理解Java的接口和抽象类对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。下面是本文的目录大纲: 一.抽象类 二.接口 三.抽象类和接口的区别 若有不转载 2015-07-03 17:53:20 · 438 阅读 · 0 评论 -
提取Office以及PDF里的文字
利用pdfbox提取pdf文档里的文字利用POI提取office(word、ppt、excel)文档里的文字例子比较简单,作为记录提取pdf文字,可以提取中文,有时会出现乱码import原创 2015-11-17 11:23:18 · 1352 阅读 · 0 评论 -
Java自动装拆箱boxing与unboxing
java的自动拆箱和装箱,boxing与unboxing转载 2016-04-18 20:12:43 · 2047 阅读 · 0 评论 -
Eclipse-Type hierarchy only from jdk(eclipse的open Type hierarchy功能如何只显示jdk的类)
参考链接:http://stackoverflow.com/questions/25908719/type-hierarchy-only-from-jdk在阅读源码的时候,我们常常会使用eclipse的open type hierarchy 功能来查看某些类的继承关系,但是如果我们的eclipse里项目很多然后又引入了很多其它的第三方jar包,我们在使用open type hierarchy这个功能原创 2016-08-31 19:01:23 · 7561 阅读 · 2 评论 -
Java的多态(静态绑定和动态绑定)
参考资料:http://blog.csdn.net/lingzhm/article/details/44116091java多态具体表现形式有两种:方法的重写和方法的重载。先来看一段程序(此段代码摘自上述链接中):public class TestExtendsField { public static void main(String[] args) { Base b=ne原创 2016-09-16 19:52:51 · 4102 阅读 · 0 评论 -
Java异常机制中的问题
public void test(){ try{ System.out.println(); throw new Exception(); }catch (Exception e){ System.out.println(); throw e; }原创 2017-09-28 16:38:46 · 299 阅读 · 0 评论 -
WebDav-Milton之一
这几篇主要介绍下Milton,一个用java实现了WebDav协议的开源软件,并且可以集成Spring(貌似是唯一一个实现WebDav协议支持Spring) 原文地址:http://milton.io/programs/milton/anno/anno1/pgetting-started-with-annotations.html (原文地址时不时的访问不了) 我的例子是在官网例子上修改的(主原创 2017-10-17 11:06:21 · 1700 阅读 · 2 评论 -
浏览器不发送If-None-Match 请求头部信息
为了提升性能,服务器端可以使用ETag利用本地缓存,避免多次重复的请求,然而自己在使用ETag的时候,发现无论是Chrome还是firefox,浏览器的请求头均没有发送If-None-Match头部, 网上搜查,说chrome要将开发者工具中的Disable-cache取消勾选 但是自己这样处理后,浏览器仍然没有发送If-None-Match请求头部。 后面才发现,请求的url不对原创 2017-11-16 14:52:10 · 7471 阅读 · 0 评论 -
Pinpoint概要
英文原文:https://naver.github.io/pinpoint/overview.html概要如今,服务都是由许多不同的组件组成,这些组件之间通信同时也会调用外部服务。但是每条请求或者说事务(transaction)是怎样执行的是个黑盒。Pinpoint追踪这些组件之间的请求流(transaction flows)并且提供了清晰的视图查看从而确定系统问题所在以及潜在的瓶颈。Se...翻译 2019-07-03 22:44:19 · 282 阅读 · 0 评论 -
Pingpoint 技术详解
英文原文:https://naver.github.io/pinpoint/1.8.4/techdetail.html说明:【】中内容为方便解释自己加的在这篇文章中,我们描述了Pinpoint的技术细节比如请求追踪(transaction tracing)和字节码插装(bytecode instrumentation),同时说明了应用于Pinpoint agent中的优化方法,它可以修改字节码...翻译 2019-07-17 11:12:09 · 10225 阅读 · 0 评论 -
java利用Jsch实现在windows平台获取linux服务器文件
今天碰到个问题,在windows想下载linux服务器上的文件,看下有什么代码实现,当然可以利用工具比如SecureCRT,网上搜索找到答案1. java使用jsch包实现远程访问2.Jsch官网详细的可以看下上面这两个链接,下面直接贴代码和结果配置类:package com.idc.remote;public class SshConfiguration { priva转载 2015-04-15 20:04:09 · 4033 阅读 · 0 评论