java
程序员猪佩琪
所见,所思,所写
展开
-
[置顶] java 中精度受损的一种转换计算方式
背景: 大家都知道,低精度的数字转换为高精度的数字是没有问题的,但是高精度的数字转换低精度的数字会精度受损。那精度是怎样受损的?转换的逻辑是怎样的了?以下为个人的猜想。 先上代码,1个short类型的数字,转换为byte类型的数字 @Test public void LongToInt(){ short c = 428;原创 2017-03-29 10:37:25 · 586 阅读 · 0 评论 -
反射实现 AOP 动态代理模式(Spring AOP 的实现 原理)
-------转载http://www.blogjava.net/DoubleJ/archive/2008/03/04/183796.html 好长时间没有用过Spring了. 突然拿起书.我都发现自己对AOP都不熟悉了.其实AOP的意思就是面向切面编程.OO注重的是我们解决问题的方法(封装成Method),而AOP注重的是许多解决解决问题的方原创 2009-08-04 12:19:00 · 367 阅读 · 0 评论 -
用javassist实现简单的动态代理
网上有网友已经实现了该功能,我只是把我的理解说出来,希望对大家有帮助! 主要思路:创建一个拦截器接口,里面有有一个invoke方法,再创建一个能够生成代理的类,该类的主要作用是生成了一个新类,该新类实现了被代理类接口的每个方法(生成新类的实例时是用javassist)。这个新类里每个方法都通过反射去调用拦截器中的invoke方法,(而invoke方法中我们会去调用被代理类的方法原创 2009-08-05 10:40:00 · 1677 阅读 · 0 评论 -
线程安全集合
线程安全集合简介JDK 1.2 中引入的 Collection 框架是一种表示对象集合的高度灵活的框架,它使用基本接口 List、Set 和 Map。通过 JDK 提供每个集合的多次实现(HashMap、Hashtable、TreeMap、WeakHashMap、HashSet、TreeSet、Vector、ArrayList、LinkedList 等等)。其中一些集合已经是线程安全的(H转载 2009-09-13 23:21:00 · 1124 阅读 · 1 评论 -
Java中的URLEncoder和URLDecoder类
1、URLEncoder是对字符编码, URLDecoder是对字符进行解码: 1.大写字母A-Z 2.小写字母a-z 3.数字 0-9 4.标点符 "." "-" "*" and "_" 不会被编码,是安全的, 我就搞不懂,它们所指别的字符的都是不安全的,究竟是哪不安全,能不能举个例子??原创 2009-10-13 09:29:00 · 1223 阅读 · 0 评论 -
理解Java ClassLoader机制(转自http://www.blogjava.net/pandawang/archive/2007/10/05/64639.html)
ava.lang.NoClassDefFoundError: com/sun/tools/javac/Main最近在使用java的动态编译的时候出现的问题,主要是由于在使用类com.sun.tool.javac.Main时,总是出现NoClassDefFoundError的错误,后来找到如下的文章,分析,可能是由于对于包tools.jar的加载问题,虽然我在classpath中声明了原创 2009-10-13 10:56:00 · 636 阅读 · 0 评论 -
Java 动态加载类
第一部分:Java虚拟机启动时,关于类加载方面的一些动作 当使用java ProgramName.class运行程序时,Java找到JRE,接着找到jvm.dll,把该动态库载入内存,这就是JVM。然后加载其它动态库, 并激活JVM。JVM激活之后会进行一些初始化工作,之后生成BootstrapLoader,该Class L转载 2010-05-05 15:35:00 · 1754 阅读 · 0 评论 -
jvm 体系概述
JVM 大概体系 JVM大概体系(从csdn上找的一幅图) 从上图可以看出,JVM由四大块组成:ClassLoader类加载器,jvm内存区,执行引擎,本地方法栈 1、ClassLoader:类加载器,主要负责查找,加载,解析 .class文件到jvm内存区,以供jvm执行引擎执行加载的字节码。 2、jvm内存原创 2017-03-29 10:36:32 · 288 阅读 · 0 评论 -
jvm之classLoader 初探
jvm之classLoader 背景:classLoader:类加载器。大家平时在开发工具编写的代码会保存为.java文件,然后使用工具(javac命令等)把.java文件编译为.class文件。classLoder是专门查找,加载和解析.class文件。 在JVM中有三种classLoader,这三种ClassLoader都是有层级关系,并且三种ClassLoader加载.原创 2017-03-29 10:36:39 · 246 阅读 · 0 评论 -
[置顶] java 中文字符串,utf-8编码为byte数组的计算过程
背景: 对于编码解码的计算过程一直没有去研究过。以前也看了大神写的编码解码的文章,当时看了似懂非懂,没有仔细去品味,没去实践。正应了那句老话:纸上得来终觉浅,绝知此事要躬行。 为什么有编码和解码?二什么时候会出现编码和解码?编码解码的算法是怎样的? 推荐两篇文章 http://www.ibm.com/develop原创 2017-03-29 10:37:15 · 6572 阅读 · 1 评论 -
classLoader学习
1 、 java编译后的.class文件不同于C或者C++编译后形成的.exe文件,能够被window操作系统直接运行。而java程序的运行,首先是运行JVM(Java虚拟机),然后再把Java class加载到JVM里头一行,一行的解释运行,负责加载Java class的这部分就叫做Class Loader。 2、 jvm有三个重要的class loader原创 2009-08-03 19:14:00 · 391 阅读 · 0 评论