![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
文章平均质量分 78
正版小飘
笨鸟先飞。
展开
-
servlet 、GenericServlet 、HttpServlet 详解
今天突然想研究下servlet,总结下新的,希望对大家有帮助:首先,看看怎样才能实现一个servlet,方法有3种:1、实现servlet接口2、继承GenericServlet(实现service 方法 )3、继承HttpServlet类(重写doGet,doPost方法就行)servlet 接口源代码public abstract interface Servlet { public abstract void init(ServletConfig paramServletConfi原创 2011-05-15 00:49:00 · 8332 阅读 · 1 评论 -
一个简单的java数据库连接池
import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.Driver; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import j转载 2012-02-27 14:13:37 · 2544 阅读 · 0 评论 -
java并发包concurrent多线程示例
Callable/Future CountDownLatch ExecutorService/Executors 主要是以上几个并发包类的用法、 简单描述下: Callable/Future : Callable这个接口类似于Runnble接口,要重写里面的call()方法(类似于run方法)具体区别是,call()可以返回值T,run()不能返回、返回的原创 2012-02-26 21:16:16 · 2709 阅读 · 0 评论 -
java中synchroized锁的那个对象
以前有个误区,A对象中的一个synchroized(target)方法块,我以为获得的都是A对象的锁(无论target是写的什么对象)。 正确的应该是获得的锁应该是target对象的锁,和A对象没什么毛线关系。只有2种情况才是获得A对象锁,synchroized(this)和s原创 2011-08-29 20:08:35 · 2074 阅读 · 0 评论 -
多线程基本概念解析
1、多线程的状态 线程一共有8种状态,听我慢慢道来 1、new状态 :当一个线程实例出来之后(调用start方法之前),改线程并未运行 2、Runnable(就绪状态):调用start之后,就进入就绪状态,cpu随机将资源分配给就绪状态的线程(一般会有很多就绪状态线程在焦急原创 2011-08-12 19:41:10 · 653 阅读 · 0 评论 -
String ,StringBuffer ,StringBuilde
String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 Stri转载 2011-08-06 21:48:12 · 606 阅读 · 0 评论 -
java内存泄露学习笔记
在学C的时候,就听老师讲过内存泄露,那时候理解了,后来学java,听说有GC,内存泄露问题就解决了。再后来,找实习工作的时候,面试的一个问题是 java里面有内存泄露吗?如果有,怎样才能尽可能减少出现内存泄露的情况? 当时我答案是: java里面有内存泄露;显式将无用对象引原创 2011-07-30 12:06:22 · 607 阅读 · 0 评论 -
关于hash的一些话
发现hash在面试和实际应用中是一个很热门的话题,大家都知道,在java中,hashmap和hashset都是通过hash进行存储的,查找的速度非常的快,可以用来处理海量数据。那么,我想提出以下几个问题:1、hash到底是什么东东?hash啊,我个人理解,就是通过一个hash函数(这个函数的写法是关键,写得好,冲突少),对某个对象进行求值,得到一个hash值,就像MD5一样,对一个字符原创 2011-06-04 16:46:00 · 6485 阅读 · 1 评论 -
java 动态代理
/* * 要插入的业务逻辑 */ class Util { public void method() { System.out.println("通用方法"); } } interface Person { void walk(); void say(String worlds); }; /* * 要在下面这个类中插入一些业务逻辑 */ class Super implements Person { public void walk() { Sys原创 2011-04-12 18:44:00 · 533 阅读 · 0 评论 -
Java中Array与ArrayList的主要区别
<br />1 )精辟阐述:<br /> 可以将 ArrayList 想象成一种“ 会自动扩增容量的Array” 。<br /><br />2 )Array ([] ):最高效;但是其容量固定且无法动态改变;<br /> ArrayList : 容量可动态增长;但牺牲效率;<br /><br />3 )建议:<br /> 基于效率和类型检验,应尽可能使用Array ,无法确定数组大小时才使用ArrayList !<br /> 不过当你试着解决更一般化的问题时,Array转载 2011-04-04 12:22:00 · 2740 阅读 · 0 评论 -
java 异常 throw 和throws
<br />public class ExceptionTest <br /> {<br /><br /> public void getException() throws Exception // throws 这里抛出了(可能出现的异常)异常,抛给了调用此方法的人来处理,可抛多个异常<br /> {<br /> Class a = Class.forName("com.mysql.jdbc.Driver");<br /> }<br /> p原创 2011-04-03 12:27:00 · 455 阅读 · 0 评论 -
finalize 和 gc 的区别
<br />finalize()是由JVM自动调用的,你可以用System.gc(),但JVM不一定会立刻执行,JVM感觉内存空间有限时,才会开始执行finalize(),至于新的对象创建个数和被收集个数不同是因为收集的对象只和JVM的垃圾收集策略有关。<br /><br /><br /> 1.构造函数<br /> 要点:<br /> 构 建器(Constructor)属于一种较特殊的方法类型,因为它没有返回值.这与 void返回值存在着明显的区别。对于void返回值,尽管方法本身不会自动返回什转载 2011-05-15 01:28:00 · 790 阅读 · 0 评论 -
关于运行时异常RuntimeException捕获的小测试
package com.caogu.test; public class ExceptionTest { public static void main(String[] args) throws InterruptedException { new Thread(new Runnable() {// /// @Ove原创 2012-03-02 22:21:48 · 7037 阅读 · 0 评论