- 博客(32)
- 收藏
- 关注
原创 Java类加载器 & Java垃圾回收方式
[b]1.Java类加载器[/b]按加载的顺序分为A 引导类加载器 Boostrap Classloader加载jre/lib/rt.jar里所有的class,由C++实现,不是ClassLoader子类B 扩展类加载器 Extension Classloader加载jre/lib/*.jar或-Djava.ext.dirs指定目录下的jar包C 系统加载器 S...
2017-08-15 11:50:28
409
原创 Java基础知识杂锦(四)
[b]1.常见的哈希冲突解决方法:[/b]A.开放地址法B.链地址法(java8以前HashMap使用此法,java8中HashMap引入了平衡树法)C.再散列(二次哈希)D.建立一个公共溢出区[b]2.Integer中的equals方法[/b][code="java"]public boolean equals(Object obj) { if ...
2017-08-14 15:12:03
132
原创 final小记
大家都知道final是java中的修饰符之一。用来修饰类,方法或变量。本文不讨论以上用法,至少讨论啥呢,请看以下代码:[code="java"]public class Main{ static void normalAdd(){ byte b1=1,b2=1,b3;// b3=b1+b2;//这样写会导致编译无法通过,因为b1+b2会自动升格成int型,int必须...
2017-08-09 16:48:37
133
原创 Java基础知识杂锦(三)
[b]1.外部类,内部类,局部内部类[/b]外部类:只能用public,default修饰符内部类:可以用所有修饰符,此时内部类相当于外部类的一个成员变量局部内部类:即方法中定义的类,只能用abstract,final,default修饰符,相当于一个局部变量。代码示例:[code="java"]public class Main{ int MainInt; pub...
2017-08-09 15:07:34
144
原创 Java父类子类 类加载顺序
首先看代码,猜猜结果[code="java"]public class Base{ private String baseName = "base"; public Base() { callName(); } public void callName() { System. out....
2017-08-07 14:47:37
517
原创 CopyOnWriteArrayList,ReadWriteLock,ConcurrentHashMap
[b]CopyOnWriteArrayList[/b]原理:当我们往一个容器添加元素的时候,不直接往当前容器添加,而是先将当前容器进行Copy,复制出一个新的容器,然后新的容器里添加元素,添加完元素之后,再将原容器的引用指向新的容器特点:读写分离。读的时候不需要加锁,写的时候需要加锁。适用于读多写少的场景不足:内存占用过大(写操作时将对对象进行复制);只能保证数据最终一致性...
2017-08-07 14:14:13
173
原创 null对象调用static方法
先给代码,猜猜结果[code="java"]public class TestClass { private static void staticMethod(){ System.out.println("static"); } void normalMethod(){ System.out.println("normal"); } public stati...
2017-08-04 16:45:57
242
原创 Java基础知识杂锦(二)
1.Socket:服务端通过new ServerSocket()创建ServerSocekt对象,当客户端连接时才创建Socket对象。Socket s=new ServerSocetk().accept();2.volatilevolatile禁止指令重排序,限定变量只能从内在中读取。但其不能保证原子性,不能保证线程安全。3.AWT&SwingAWT 是基于本...
2017-08-03 11:41:23
94
原创 Java基础知识杂锦(一)
1.JVM 方法区和堆 都是线程共享的2.Propagation-Required 支持事务,没有就新建 (最常见的选择)3.CGI不可移植,为某一特定平台编写的CGI应用只能运行在这一环境中4.doGet/doPost是在javax.servlet.http.HttpServlet中实现的5.创建Servlet实例由Servlet容器完成,创建实例在init()方...
2017-07-28 14:11:43
96
原创 Eclipse突然无法编辑解决办法
Eclipse工作区突然无法编辑代码,触发原因未知按 Ctrl+Alt+S 即可恢复正常,原因未知...查询Eclipse各快捷键的说明(Window->Preferences->General->Keys)找到了 Ctrl+Alt+S 组合的说明:Command:StopBinding:Ctrl+Alt+SWhen:In Server ViewCate...
2017-07-19 10:35:18
1827
原创 高效率斐波那契代码
斐波那契数列1 1 2 3 5 8 13 21...即每一项都是前两项之和的数列经典解法是使用递归不过递归的效率太低,推荐如下代码,只需2个变量存值,效率高[code="java"]int fibonacci(int n){ int a=1,b=1; for(int i=2;i0,故没有对n...
2017-07-18 17:54:21
128
原创 Java中wait()及notify()小记
有代码如下,猜猜输出结果:[code="java"]public class WaitAndNotify { void method1(Object lock) throws Exception{ synchronized (lock) { lock.wait(); System.out.println("m1"); } } void met...
2017-07-17 14:49:54
99
原创 利用JDK自带工具解析WDSL
近日因工作需求,需要调用远程服务器的接口因以前未深入接触WS,SOAP所以一开始采用引入AXIS包,从头开始JAVA编码的方式来实行代码形如:[code="java"]Service service=new Service();Call call=(Call)service.createCall();[/code]一碰到复杂的接口,就OMG了。...
2017-07-14 18:05:11
427
原创 Java解析.properties注意事项
项目中有功能需要读取.properties配置文件中的信息.properties中有一属性形如下:prop=abc\abc重点就是上面的反斜杠“\”了我用的java.net.URLEncoder来encode字符串结果encode之后变成了 abcabc反斜杠被忽略掉了...联想到JAVA里面反斜杠是特殊字符,需要转义遂将上面的属性改为pro=abc\\abc...
2017-06-21 10:29:11
161
原创 Spring-Task 动态配置CRON
Spring-Task是Spring框架自带的轻量级定时任务框架直接集成在Spring框架内无须额外JAR包配置亦尤其简单只需要在Spring配置文件中加入即可xml命令空间和schemaLocation别忘了加上如下代码:[code="java"]xmlns:task="http://www.springf[/code]ramework.org/schema/task" ...
2017-06-16 16:51:03
925
原创 jquery attr及prop方法
项目中用到checkboxattr("checked",true),执行此方法后复选框前面打了勾之后 removeAttr("checked")再次执行attr("checked",true),复选框前面不打勾了,查看元素属性,checked="checked",但是前台就是没有打勾。查阅资料,貌似是浏览器的相关BUG,有人建议使用prop即:prop("c...
2017-05-19 15:28:11
74
原创 SPRING MVC项目内的JS文件实现国际化
大致需求:SPRING MVC项目改造,要求有中英文两个版本。解决方案:1.SPRING MVC本身自带I18N配置。新增名称形如messages_en_US.properties,messages_zh_CN.properties两个配置文件用来配置英文和中文。2.JSP页面引用spring标签库,标签可根据当前的locale加载相应的message。3.JSP内加入如下内容...
2017-04-26 17:58:11
638
原创 JSON.stringify 相关
从后台得到一JSON结构形如 {"a":"aaa","key":"bbbb/sdfdsf"}(原JSON的key的值要复杂的多,包含很多"/"符号)在前台JSON.stringify()这个JSON,发现转换之后的字符为 {"a":"aaa","key":""}key的值被置空了...用浏览器的控制台测试却
2017-03-27 17:40:02
67
原创 js = ==
JS中有一判断传入typetype可为a,b,c代码如下:[code="java"]function fun(type){ if(type=="a"){} else if(type=="b"){} else if(type=="c"){}}[/code]发现无论type怎么传,最后都变成了b再次调试,检查type=="b"被写成了typ...
2017-03-10 18:28:27
90
原创 HTML Server-sent实现服务器向HTML页面推送消息
以下是实现JAVA后台向HTML页面推送消息的简单实现。后台代码(将方法放在Controller中):[code="java"]public String getPushMessage(){ String message="msg"; getResponse().setContentType("text/event-stream;charset=UTF-8"); ...
2017-03-08 15:33:48
294
原创 记一次Quartz定时任务导致的系统崩溃Debug过程
公司一个Spring+Hibernate架构的后台管理项目部署到远程服务器的tomcat上,tomcat里reloadable设置为true。某次更新,将项目class文件替换后,系统自动reload,正常运行。大概一小时后,有人反映说系统无法访问了。后台一查,tomcat已经停止服务了。查询log日志,未见相关报错。遂找到catalina.out文件,发现系统在重启时有十来条类似...
2017-03-07 10:36:34
1607
Comparison method violates its general contract
事件:一项目部署在tomcat,报500错误,查localhost.log,发现错误描述为 "java.lang.IllegalArgumentException: Comparison method violates its general contract!"经过:排查之,发现是一个算定义sort算法报的错。网上搜索,说是因为JDK1.7的排序算法发生改变,改成了什么TimSort。这...
2017-03-06 11:05:30
122
原创 HtmlTableRowElement
1.需求:前台对html table进行排序2.框架:JQuery3.思路:点击排序按钮,获取tr集合,对tr进行sort4.问题:code:trs.sort(function(a,b){a.children("td");})error:报a.children无法执行原因:a是一个HTMLTableRowElement对象,需要再包一层$()才将其转换为jQue...
2017-02-27 15:34:35
1804
原创 Eclipse两个快捷键
1. 切换编辑页窗口 Ctrl+Shift+F62. 双窗口打开同一文件 坚排排列 Ctrl+Shift+{ 橫排排列 Ctrl+Shift+_
2017-02-24 10:15:40
89
原创 记一次MD5加解密过程
时间:2017年2月起因:公司安排将一个手机客户端APP(IOS)的功能搬到手机HTML(JAVA实现)上,需要搬的功能包括“用户登录”经过:用户注册时会将密码进行MD5加密以后保存到数据库,但是手机HTML上可以登录,客户端APP却报密码错误。于是,进行如下排查:1.tomcat编码是否设置错误:查编码为UTF-8,问题未解决2.JDK版本不一样导致MessageDige...
2017-02-17 16:19:54
257
html解析利器-JSOUP
因项目需求,需要跨项目调取别的项目的接口。尝试着用java.net包里的URLConnection获取连接,然后用io包里的BufferedReader 读取调用外部项目接口后返回的网址的内容。代码形如:[code="java"]StringBuilder ans = new StringBuilder();URL u= new URL(url);URLConnection...
2016-06-08 09:07:46
142
META-INF文件夹里的context.xml
有JavaWeb项目A。把A部署到TOMCAT并启动TOMCAT。发现TOMCAT的conf/Catalina/localhost文件夹下多了项目的配置文件A.XML(A为项目名)。为什么项目启动后会在conf/Catalina/localhost自动添加配置文件呢?百思不得其解,于是开始上网search。最终发现,若JavaWeb项目的web/META-INF文件夹下有Con...
2016-04-06 17:25:31
2808
js中单引号双引号的使用
最近开发时遇到要在一个JS方法里同时使用双引号和单引号的CASE。形如:function fun1(){var a="a";var b="b";var v="Link";}function fun2(a,b){//method;}由于fun1中的var a和var b都是字符串格式,需要加上单引号才能被fun2识别。所以需要将var v拼接。...
2016-03-25 17:50:47
136
原创 FLEX项目的编译问题
接到一个任务要处理一个项目。项目用的是Flex做的前台,Java做的后台。Java web项目启动后,点链接被报404找不到网页错误。查看之后发现是Flex的输出文件夹bin-debug文件夹里没有编译后生成的文件。于是将FLEX项目CLEAN重新编译。结果发现仍然没有值。遂百度,发现有说MXML文件必须要在应用程序下才能够被编译。研究之。发现在Fl...
2015-12-01 14:26:05
206
TOMCAT部署项目相关心得
近日在TOMCAT/CONF/CATALINA/LOCALHOST中定义了一个XML文件。文件中有一行。其中,docBase中写的是项目所在的目录。当TOMCAT启动时,它会自动去启动DOCBASE所指向的项目。如果此时用ECLIPSE托管了TOMCAT并重新把项目给ADD DEPLOYMENT的话,启动TOMCAT便会各种报错。由此证明,若是在TOMCAT中已...
2015-09-02 08:58:08
107
原创 JAVA中的中文乱码问题
request.setCharacterEncoding()response.setContentType()都设过了,中文还是乱码?试试这个吧。String username = new String(request.getParameter("username").getBytes("iso-8859-1"), "utf-8");据说:中文字符在传输中会...
2015-08-26 14:12:50
82
关于JAVA中StringBuffer和String值的比较
近日做登录权限校验时,希望形如http://localhost:8080/ProjectName的URL能够不被登录校验的过滤器拦截。于是采用request.getRequestURL()方法取得如上路径。 通过if(request.getRequestURL().equals(http://localhost:8080/ProjectName))来做比较,如果返回TRUE可...
2015-08-24 18:06:18
352
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人