曾经的Java
文章平均质量分 66
orangleliu
快乐编程
展开
-
[Chaoblade]jvm-sandbox UnsupportedOperationException错误
jvm-sandbox UnsupportedOperationException在使用基于 jvm-sandbox 的agent chaosblade-jvm-exec 的attach java进程的时候,发现某些 AOP 切点无法被正常切到,错误如下java.lang.unsupportedoperationexception: class redefinition failed: attempted to change superclass or interfaces 经过排查是跟公司内部的原创 2021-08-19 19:55:23 · 1696 阅读 · 0 评论 -
[Chaosblade] chaosblade-jvm-exec和chaosblade交互
chaosblade-jvm-exec 是负责 chaosblade 中 Jvm 故障注入的模块,是基于 jvm-sandbox 的 java agent。本篇文章介绍下他俩的目录关系,以及交互逻辑。1 目录关系chaosblade-jvm-exec 最终是打包成为一个jar包,放在sandbox的目录下面,sandbox又在chaosblade的目录下。├── bin│ ├── chaos_addfile│ ├── chaos_appendfile│ ├── chaos_bur.原创 2021-08-13 21:48:29 · 1268 阅读 · 0 评论 -
[jvm-sandbox] 多个agent并用
背景:某些需求导致会同时使用 jvm-sandbox-repeater 和 chaosblade-exec-jvm 两个基于jvm-sandbox的agent 同时注入到java程序中尝试jvm-sanbox版本(后面简称sandbox)jvm-sandbox-repeater 2.1chaosblade-exec-jvm 3.1两个agent先后attach,只能attach成功第一个,第二个会失败,并且几乎没有什么日志。解决办法jvm-sandbox的最新文档中看到支持多租户,我们.原创 2021-05-07 13:04:39 · 1411 阅读 · 1 评论 -
[Maven]Nexus自建伺服切换地址之后遇到的问题
背景:公司有自建的nexus伺服,需要从老的地址 http://svn.xxxx:8081 (老地址) 切换到新的域名 (http://nexus.xx)。 过渡期已经有一两年了,最近老地址的机器要退了,所以必须迁移到新机器,记录下遇到的问题。Nexus 使用公司内部的开发,测试,以及发布都统一的Nexus仓库,包括Java服务端,安卓。下面说的502,是无法从老地址下载的一种统称问题和解决1 需要更怎么更新配置呢主要包括repositories pluginRepositories 节点中.原创 2020-07-04 09:20:09 · 920 阅读 · 1 评论 -
[java] BigDecimal用法小试
BigDecimalBigDecimal 类提供以下操作:算术、标度操作、舍入、比较、哈希算法和格式转换。是用户用来控制数值精度和舍入方法的类,适合用于解决数据精度过滤问题。这里只是作为一个引子,如果需要用到还是查看api的比较好。import java.math.BigDecimal; public class DecimalTest { public stati原创 2014-07-31 00:29:23 · 5142 阅读 · 0 评论 -
[java]多线程yield 的小议
在多线程中有这么一个状态yield,很多人翻译成线程让步。顾名思义,就是说当一个线程使用了这个方法之后,他就把自己的cpu时间让掉,让自己或者其他的线程运行。就好像说这个线程轮到他上厕所了,然后他说“我要和大家来个竞赛',然后所有的人在同一起跑线冲向厕所。。。。有可能是别人进去了,也有可能他自己有抢到了。我们还知道线程有个优先级的问题,那么手里有优先权的这些人就一定能抢到厕所的位置吗? 不原创 2014-07-31 00:28:57 · 1491 阅读 · 0 评论 -
Java--switch使用易错点小结
这次是把java中常用的一个控制语句switch使用时出现的错误做个小结。 一 defult的用法 /************************************************* * defult是说当其他项匹配不到的时候,就会默认选择这一项 * 而不是说会首先或者第一个选择它对应的项 *****************************原创 2014-07-31 00:28:22 · 1820 阅读 · 0 评论 -
[Tomcat]安装并启动tomcat6
这里使用的是tomcat6.0版本,6.0和7.0版本的差异很小,可以作为参照。Tomcat是servlet/jsp容器,比起jboss和weblogic要轻的多,很适合学习和小web应用。所以java学习者第一个接触的javaee容易就是它了,他的安装和使用也很简单。 一 下载和解压 tomcat6的下载地址:http://tomcat.apache.org/downlo原创 2014-07-31 00:28:31 · 1532 阅读 · 0 评论 -
[读书]java抽象类的方法
抽象类就意味着它不是要被实例化而是要被其类来继承的。一旦一个实体类继承了抽象类,它就必须实现那个抽象父类的抽象方法。但是一个抽象类也可以有非抽象的方法。当子类实现抽象方法的时候,这些方法就有了用途,但是抽象类中那些非抽象的方法是用来做什么的呢? 好吧,他们的目的就是被继承或者是在需要的时候重写。当我们使用一个抽象类的时候,我们就在两个类(例如抽象类和他的子类)中间建立起了继承关系。下面的源原创 2014-07-31 00:28:55 · 1197 阅读 · 0 评论 -
[java]线程--同步代码块
在多线程环境中,每个线程执行的时间是随机分配的,所以有的时候就会造成一个线程对一个对象操作到一半就让其他线程来操作了,结果导致了一些错误。线程同步就是用来解决这种问题的,让我么来看看没有线程同步会有什么现象:假如有2个人,男人和女人在不同的地方取同一个账户的钱,正巧是统一时刻,如果没有线程同步会有什么现象呢?账户类:/** * 账户类 * @author lzz */原创 2014-07-31 00:28:59 · 1486 阅读 · 0 评论 -
Java可变参数小案例和使用易错点
留作日后参考: /** * 可变参数问题,一个小案例 * 可变参数的重载和重写问题。 * @author lzz * */ public class VariableParaTest { public static void main(String[] args) { int a = VariableParaTest.add(1, 2, 3,原创 2014-07-31 00:27:32 · 1246 阅读 · 0 评论 -
java通过java.security.MessageDigest实现MD5加密
这里只是把主要的方法写了出来,main方法调用就可以了,不要忘记倒包了 /** * java.security.MessageDigest类中有MD5 SHA等加密算法的实现 */ public static void MD5Test(){ MessageDigest md=null; try {原创 2013-03-29 00:01:51 · 1866 阅读 · 0 评论 -
[java]多线程2种实现方法
线程要点: 英文单词: process并发与并行的概念: 1 并行指在同一时刻,有多条指令在多个处理器上同时执行 2 并发指在同一时刻只能有一条指令执行,但多个进程指令被快速轮换执行,使得在宏观上具有多个 进程同时执行的效果。进程和线程的对比 进程能得到系统资源直接分配,而线程只能依托进程的资源来生存。一个进程可以有多个线程,但是一个线程只原创 2014-07-31 00:28:53 · 1181 阅读 · 0 评论 -
[读书]java I/O流的介绍
英文不好,拿来做阅读练习。。。。一步一步,有些地方可能表达有问题,见谅。 Overview of I/O Streams i/o流的概述 To bring in information, a program opens a stream on an information source (a file, memory, a socket) and reads the information原创 2014-07-31 00:28:50 · 1312 阅读 · 0 评论 -
[java]数组复制小结 for 、clone、 System.arraycopy
今天看了下ArrayList的源码,其中许多方法要用到数组的复制,而且全部使用的是System.arraycopy方法public static native void arraycopy(Object src, int srcPos, Object dest, int destPos,原创 2014-07-31 00:29:25 · 8170 阅读 · 0 评论 -
[javaEE]怎样获得已安装的Tomcat的版本呢?
要求知道版本信息就能明白从新的服务器配置到不正确根路径命名的变化。这个问题也可以作为一个关于Tomcat的面试问题。这里有一些方法可以从Tomcat服务器端和客户端获取版本信息。我们也会看到怎么样从linux和windows配置中找到这串数字。 从服务器端: 因为我们可以进入到命令行,所以很容易就能在服务端找到tomcat的版本信息。进入到服务器, 我的意思是通过Putt原创 2014-07-31 00:29:30 · 1880 阅读 · 0 评论 -
[Eclipse]win下设置源码文件编码为UTF8
现在的项目一般编码都是使用utf8,而eclipse默认的源码文件的编码是系统默认的,而win系统的默认编码是GBK,所以最好统一设置为utf8,否则在web程序和跨平台时候会出现很多问题。首先是更改文本形式文件的编码 这里基本的源码格式都会更改。菜单栏 Window->Perferences->General->Workplace 设置编码为UTF-8设置完成以后我们新建一个文本原创 2013-05-31 14:00:47 · 2097 阅读 · 0 评论 -
[Json]json-lib简单处理java对象变为json对象
由于js对json的原生支持,所以现在很多项目的数据传输都喜欢用json。 怎么样把数据从java对象转化为json对象,有怎么把前台的json对象转化成java对象去处理?这是开发中常要解决的问题。json-lib是sourceforge的一个开源项目,常用来解决java json数据转换的问题。下载地址是 http://sourceforge.net/projects/json-l原创 2013-06-05 16:15:51 · 2655 阅读 · 0 评论 -
Spring学习笔记--- BeanFactory简单模拟
<span lang="EN-US" style="color:#548DD4;mso-themecolor:text2;mso-themetint:153">Spring<span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-fa原创 2014-07-31 00:28:09 · 1112 阅读 · 0 评论 -
[java]递归读取目录及其子目录文件
总是看着别人的代码敲,最近开始自己去写,虽然慢一些,但是思考的和调式的过程可以学到很多的东西。要从简单功能慢慢扩展到自己想要达到的效果,这是个很好的习惯。。。慢慢积累吧。package com.java.io;import java.io.File;/** * 读取一个目录下的所有文件和子文件夹 * @author lzz */public class ReadDirec原创 2014-07-31 00:28:48 · 4559 阅读 · 0 评论 -
Java动态编译类小案例
动态生成类小案例,调用JDK自身的编译工具api,比较有用。 package com.lzz.proxy.compiler; import java.io.File; import java.io.FileWriter; import java.io.IOException; import javax.tools.JavaCompiler; import javax.tool原创 2014-07-31 00:27:36 · 1372 阅读 · 0 评论 -
Java--List 过滤引发的小错误
本来是要写一个对list里的对象过滤的简单的方法,写完之后发现总是不对啊。。。后来想了想,犯了个小错。这里写下来提醒自己以后。。。。。package com.lzz.list; import java.util.ArrayList; import java.util.Iterator; import java.util.List; /* * 这是编码中出现的一个错误,记录反思原创 2014-07-31 00:28:00 · 1955 阅读 · 0 评论 -
Java--使用Base64编码对url传值
有些时候我们可能需要把信息通过url传递,但是url中出现特殊字符如空格,#,&等符号会使原有的信息失真,还有当传递密码等重要信息的时候可能就需要更复杂的加密解密算法。 这里使用的apache commons项目下的一个改进的base64算法,专门对url重新编码和加密的,如果要是传递重要信息,可以用DES+Base64来解决。 下载地址如下,1.3之前版本没有这个类,所以最好原创 2014-07-31 00:28:24 · 7396 阅读 · 0 评论 -
Java-POI读取Excel简单案例
利用poi工具把上篇输出后的.xls的内容读出来,打印到控制台。package com.lzz.hssf; import java.io.FileInputStream; import java.io.InputStream; import java.util.Iterator; import org.apache.poi.hssf.extractor.ExcelExtractor; i原创 2014-07-31 00:28:07 · 14214 阅读 · 2 评论 -
java安全技术-Base64编码与解码
BASE64编码入门l 概念及原理介绍Base64采用了一种很简单的编码转换:对于待编码数据,以3个字节为单位,依次取6位数据并在前面补上两个0形成新的8位编码,由于3*8=4*6,这样3个字节的输入会变成4个字节的输出,长度上增加了1/3。Base64编码表Value Encoding Value Encoding Value Encoding Value Enc原创 2014-07-31 00:27:29 · 2318 阅读 · 0 评论 -
[java]深入到Hashcode内部
[java]深入到Hashcode内部 在java编程中hashcode(哈希编码)是一个很常见的词。自从java设计者使用了基于哈希算法的散列结构,它就通过哈希编码提供了内部支持。所有的类都从Object类继承了hashcode方法。这个方法返回了一个在32位机器中对于所有对象都唯一的32位整数型数字。 Hashcode 和 == 对于32位机器,当你使用has原创 2014-07-31 00:29:04 · 2029 阅读 · 0 评论 -
[jvm]体系结构 内存模型
本文原文链接:http://blog.csdn.net/java2000_wl/article/details/8009362 转载请注明出处! 一:Java技术体系模块图650) this.width=650;" alt="" src="http://img.my.csdn.net/uploads/201209/24/1348494277_5463.jpg" />转载 2014-07-31 00:28:33 · 782 阅读 · 0 评论 -
[jvm]对象访问机制
本文原文链接:http://blog.csdn.net/java2000_wl/article/details/8015105 转载请注明出处! 图画的还不错 对象访问会涉及到Java栈、Java堆、方法区这三个内存区域。 如下面这句代码: Object objectRef = new Object(); 假设这句代码出现在方法体中,"Object objec转载 2014-07-31 00:28:35 · 1072 阅读 · 0 评论 -
[java]JVM JRE JDK JIT之间的区别
java虚拟机(JVM) 使用java编程语言的主要优势就是平台的独立性。你曾经想知道过java怎么实现平台的独立性吗?对,就是虚拟机,它抽象化了硬件设备,开发者和他们的程序的得以操作系统。虚拟机的职责就是处理和操作系统的交流。java不同的接口规范对任何平台都有良好的支持,因为jvm很好的实现了每个平台的规范。jvm可以理解伪代码字节码,在用户和操作系统之间建立了一层枢纽。 j原创 2014-07-31 00:29:01 · 6449 阅读 · 0 评论 -
[Maven2] Install maven2.x in Win7
#maven安装配置下载地址为http://maven.apache.org/download.cgi此次下载的是apache-maven-2.2.1-bin.zipos环境是win7jdk是1.61 JDK and JAVA_HOME确保JDK已经安装,JAVA_HOME是可用的2 下载并解压 这里zip版本是绿色版,所以只要解压到所要原创 2013-05-25 21:54:19 · 1525 阅读 · 0 评论