![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
leozam
这个作者很懒,什么都没留下…
展开
-
关于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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
Java基础知识杂锦(三)
[b]1.外部类,内部类,局部内部类[/b]外部类:只能用public,default修饰符内部类:可以用所有修饰符,此时内部类相当于外部类的一个成员变量局部内部类:即方法中定义的类,只能用abstract,final,default修饰符,相当于一个局部变量。代码示例:[code="java"]public class Main{ int MainInt; pub...原创 2017-08-09 15:07:34 · 144 阅读 · 0 评论 -
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 阅读 · 0 评论 -
CopyOnWriteArrayList,ReadWriteLock,ConcurrentHashMap
[b]CopyOnWriteArrayList[/b]原理:当我们往一个容器添加元素的时候,不直接往当前容器添加,而是先将当前容器进行Copy,复制出一个新的容器,然后新的容器里添加元素,添加完元素之后,再将原容器的引用指向新的容器特点:读写分离。读的时候不需要加锁,写的时候需要加锁。适用于读多写少的场景不足:内存占用过大(写操作时将对对象进行复制);只能保证数据最终一致性...原创 2017-08-07 14:14:13 · 173 阅读 · 0 评论 -
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 阅读 · 0 评论 -
Java基础知识杂锦(二)
1.Socket:服务端通过new ServerSocket()创建ServerSocekt对象,当客户端连接时才创建Socket对象。Socket s=new ServerSocetk().accept();2.volatilevolatile禁止指令重排序,限定变量只能从内在中读取。但其不能保证原子性,不能保证线程安全。3.AWT&SwingAWT 是基于本...原创 2017-08-03 11:41:23 · 94 阅读 · 0 评论 -
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 阅读 · 0 评论 -
高效率斐波那契代码
斐波那契数列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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 0 评论