java学习
文章平均质量分 63
UP-GIS
这个作者很懒,什么都没留下…
展开
-
如何实现Java类隔离加载
一 什么是类隔离技术只要你 Java 代码写的足够多,就一定会出现这种情况:系统新引入了一个中间件的 jar 包,编译的时候一切正常,一运行就报错:java.lang.NoSuchMethodError,然后就哼哧哼哧的开始找解决方法,最后在几百个依赖包里面找的眼睛都快瞎了才找到冲突的 jar,把问题解决之后就开始吐槽中间件为啥搞那么多不同版本的 jar,写代码五分钟,排包排了一整天。上面这种情况就是 Java 开发过程中常见的情况,原因也很简单,不同 jar 包依赖了某些通用 jar 包(如日志组件原创 2020-12-30 12:08:23 · 986 阅读 · 1 评论 -
20170704unable to find valid certification path to requested target
unable to find valid certification path to requested target有时候用Java代码访问某些HTTPS网站时,会抛出以下异常信息: javax.NET.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed:转载 2017-07-04 15:27:06 · 839 阅读 · 0 评论 -
spring+websocket整合(springMVC+spring+MyBatis即SSM框架和websocket技术的整合)
纠结了两天的原创 2014-08-06 00:30:12 · 146173 阅读 · 149 评论 -
ajax请求中文乱码
ajax请求中文乱码使用ajax将页面中文数据传送到后台时,往往会出现乱码的情况,解决方法是,在传送前将中文进行编码,然后后台再进行解码:前台编码var requestData =window.encodeURI("要传送的中文内容"); `$.ajax({ url: 'http://localhost:8080/index/putData',原创 2017-05-02 10:55:33 · 2340 阅读 · 0 评论 -
java解析Properties文件
场景分析:有时候我们可能会需要自己解析properties配置文件废话不说,先上代码:package com.yyp;import java.util.*;import java.io.*;public class ParseProperties { public static void main(String args[]) { // 生成文件对象 File pf原创 2015-10-22 11:13:45 · 1237 阅读 · 0 评论 -
20140429java.lang.NoSuchMethodError com.sun.mail.util.TraceInputStream
java.lang.NoSuchMethodError com.sun.mail.util.TraceInputStream在用java实现发送邮件功能时,jdk1.8的两台windows主机上可以正常工作,在jdk1.7的Ubuntu主机上,发送邮件时就会抛异常: java.lang.NoSuchMethodError: com.sun.mail.util.TraceInputStream.(原创 2016-04-29 11:09:08 · 6097 阅读 · 2 评论 -
String str=new String("abc")创建了几个对象
String str=new String("abc"); 紧接着这段代码之后的往往是这个问题,那就是这行代码究竟创建了几个String对象呢?相信大家对这道题并不陌生,答案也是众所周知的,2个。接下来我们就从这道题展开,一起回顾一下与创建String对象相关的一些JAVA知识。 我们可以把上面这行代码分成String str、=、"abc"和new St原创 2015-11-20 22:03:01 · 1337 阅读 · 0 评论 -
java中Iterator和Iterable的区别
Iterator和Iterable都是接口。 好多类都实现了Iterable接口,这样对象就可以调用iterator()方法。 一般都是结合着用,比如 HashMap类就实现了Iterable接口,而要访问或打印出Map中所有内容时,就可以这样:HashMap hashMap; Iterator iter = hashMap.iterator(); while(iter.hashN原创 2015-10-27 21:34:58 · 6432 阅读 · 2 评论 -
java命令查看字节码文件
javac –verbose查看运行类是加载了那些jar文件public class HelloWorld{public static void main(String[] args){System.out.println("hello");}}执行 javac –verbose HelloWorld.javajava –verbose HelloWorld可以看到原创 2015-10-15 16:07:59 · 1167 阅读 · 0 评论 -
HashMap死循环问题分析
1、问题症状从前我们的Java代码因为一些原因使用了HashMap这个东西,但是当时的程序是单线程的,一切都没有问题。后来,我们的程序性能有问题,所以需要变成多线程的,于是,变成多线程后到了线上,发现程序经常占了100%的CPU,查看堆栈,你会发现程序都Hang在了HashMap.get()这个方法上了,重启程序后问题消失。但是过段时间又会来。而且,这个问题在测试环境里可能很难重现。我原创 2015-11-19 22:48:48 · 977 阅读 · 0 评论 -
java代码优化性能总结
代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每个可以优化的原创 2015-11-13 14:24:35 · 904 阅读 · 1 评论 -
java获取项目classPath路径
有时候我们会需要获取java工程中的classPath路径,以下方法可以实现:Thread.currentThread().getContextClassLoader().getResource("/").getPath()如果牵涉到跨操作系统,还要进行路径编码:原创 2015-10-21 23:21:53 · 3649 阅读 · 0 评论 -
程序笔试题(涂鸦移动)
1. 找出n个字符串中出现次数最多的字符串。C/C++:char* find(char **data,int n);Java:String find(String data[]);说明:1. data是字符串数组,n是数组中字符串的个数,返回值为出现次数最多的字符串。2. 若结果有多个,返回任意一个即可3. 不得使用任何库函数/API,如需使用类似功能, 请原创 2015-11-04 17:56:16 · 1635 阅读 · 0 评论 -
HashMap实现原理
1. HashMap的数据结构数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。数组数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难;链表链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。链表的特点是:寻址困难,插入和删除容易。哈希表原创 2015-10-18 21:39:05 · 484 阅读 · 0 评论 -
java 堆和栈一般理解
栈与堆都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 Java的堆是一个运行时数据区,类的(对象从中分配空间。这些对象通过new、newarray、anewarray和 multianewarray等指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事 先告诉编译器,原创 2015-08-13 09:26:42 · 1715 阅读 · 0 评论 -
Maven: NoClassDefFoundError: org/codehaus/plexus/classworlds/launcher/Launcher
为了和团队开发环境保持一致,需要 在Ubuntu上安装maven2.2.1,引文我之前已经用apt-get命令安装了3.3的maven,在执行maven命令时报错: Maven: NoClassDefFoundError: org/codehaus/plexus/classworlds/launcher/Launcher 用以下命令重新链接,就可以搞定: bash-3.2cd/usr/原创 2015-06-04 19:13:11 · 3225 阅读 · 0 评论 -
JDK,JRE,JVM区别与联系
很多童鞋可能跟我一样,已经使用JAVA开发很久了,可是对JDK,JRE,JVM这三者的联系与区别,一直都是模模糊糊的。 今天特写此文,来整理下三者的关系。1 JDK JDK : Java Development ToolKit(Java开发工具包)。JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/ja原创 2014-08-22 17:17:49 · 2830 阅读 · 1 评论