Java
yanyuqiao
啥都木
展开
-
Dijkstra最短路径算法
Dijkstra算法的运算步骤可以看下图:即第一次选取最小的,第二次选取次小的,共需要支行 n-1次。在上面的运算过程中需要注意几个问题:1 已经得出结果的集合 指 visit[n] 中 visit[x] = 1的那些元素,对于已经得出的结果的结点不需要再迭代。2. 用一个结构保存 最短路径的距离,即 shortDistance[n]3. 用一个结构保存 具体的路径是什原创 2015-03-26 22:27:20 · 904 阅读 · 0 评论 -
Java 方法扔出异常与返回错误值有什么不同
前天面试,面试官问了一个问题, 一个Java方法可以选择抛出异常,也可以选择返回一个错误值(如null, false等),那这两种处理方式有何不同?当时没有答出来,查了下API文档总结如下:例如, Queue 接口定义了两组方法,一组方法抛出异常,一组方法返回 false或null 值,抛出异常组:add( ) remove( )element( )原创 2012-10-20 10:14:24 · 5265 阅读 · 2 评论 -
JAVA语言实现二叉树的层次遍历的非递归算法及递归算法
/** 二叉树节点 */public class BTNode { private char key; private BTNode left, right; public BTNode(char key) { this(key, null, null); } public BTNode(char key, BTNode left, BTNode right) {转载 2012-10-12 11:44:49 · 8283 阅读 · 2 评论 -
HTTP URLConnection
=========================URLConnection=============================URLConnection类是以Socket为底的更高层的类,其实它主要面向HTTP协议,通过该类可以获得响应Http的头信息及设置客户端HTTP的请求消息头,总之它于HTTP的对应关系如下:获取响应头(URLConnection):getRespons原创 2012-10-12 09:03:49 · 2414 阅读 · 0 评论 -
UDP DatagramPacket DatagramSocket
First, UDP doesn't have any notion of a unique connection between two hosts. One socket sends and receives all data directed to or from a port without any concern for whom the remote host is. A single原创 2012-10-12 08:58:47 · 1983 阅读 · 0 评论 -
TCP Socket
==============================================InetAddress============================================InetAddress 类代表一个主机(包括hostName和IP),这个类的构造方法不可用,你可以通过以下几个方法来获取此类实例:/* 如果为getByName("www.163.原创 2012-10-11 19:24:44 · 1264 阅读 · 0 评论 -
Java IO
总之, InputStream/OutputStream 是面向字节的,主要用于图片、压缩、二进制数据等; 所有与字符相关的都用 Reader和Writer, 它们能够根据不同的平台,不同的编码正确显示字符。inputStream --> InputStreamReader 把字节流转化为字符流,并可以设定编码方式;OutputStream-->OutputSteamWriter 把字原创 2012-08-21 17:23:20 · 610 阅读 · 0 评论 -
并发(java编程思想)笔记
package com.facaizhu.concurrency;//实现 Runnable,只表示具有一个 run 方法,但它并没有线程能力,请看 main 方法public class LiftOff implements Runnable { protected int countDown = 10; private static int taskCount = 0; //用于原创 2012-10-08 10:56:09 · 2410 阅读 · 1 评论 -
Java String与正规则表达式
String 与 StringBuilder在循环中注意使用 StringBuilder, 因为String每一次操作都会返回一个全新的String对象,这样会浪费内存.System.out.format() 或 System.out.printf() 可以像C语言一样格式化输出.java中所有的格式化任务都是由 java.util.Formatter 类完成的.全部原创 2012-08-21 21:02:01 · 1167 阅读 · 0 评论 -
Java容器初探
集合的简图:另外:LinkedList 实现了List和Queue接口,所以它可以当做Queue来用;同时 LinkedList也提供了实现一个Stack的所有方法,它也可以当做一个栈来用,不过你也可以自己定义一个Stack(注意java.util.Stack):最后:Hashtable和Vector 都算是过时的容器,但它们是线程安全的!原创 2012-08-21 16:47:40 · 694 阅读 · 0 评论 -
Java Exception 在超类和子类间的关系
两点需要注意:1 子类的构造函数可以扔出比超类更广泛的异常,但必须包含超类的构造函数扔出的异常2 子类的方法扔出的异常一定要比超类的“更窄”,这样向上转型时才不会出错下面是一个例子://球类异常基类class BaseballException extends Exception {}//犯规class Foul extends BaseballException {}//原创 2012-10-20 14:15:25 · 4229 阅读 · 0 评论 -
内部类容易迷惑的地方
内部类这个知识点面试或笔试中常考,看一下下面这个例子,就能记住知识点了:public class DotNew { //定义一个非静态的内部类 public class Inner {} public static void main(String[] args) { DotNew dn = new DotNew(); //在没有创建外部类的对象时,是不能创建内部类的 /原创 2012-10-20 14:41:25 · 858 阅读 · 0 评论 -
Java引用类型(强引用、软引用、软引用、幽灵引用)
转自:http://icanfly.iteye.com/blog/12093891.对象的强、软、弱和虚引用在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4种级别由高到低依次为:强引转载 2012-10-23 21:56:03 · 2540 阅读 · 0 评论 -
Eclipse控制台显示条数设置
设置eclipse console 显示条数 .preference->run/debug->console设置limit console output 为false,方便调试时,查看全部console。转载 2015-03-25 18:59:21 · 13856 阅读 · 0 评论 -
myeclipse 不能启动服务器管理窗口问题解决
MyEclipse10.7的 at com.genuitec.eclipse.ast.deploy.core.Deployment.异常解决方法转载 2014-07-25 00:34:21 · 4653 阅读 · 0 评论 -
jsp:includ与jsp:forward标签
jsp:include 的作用和 RequestDispatcher.include 的作用很相似;jsp:include 包含的jsp文件会被单独翻译成一个servlet, 和当前的servlet没有关系,就好像 RequestDispatcher.include的使用。jsp:forward 标签后面的内容不会再被执行;原创 2013-09-23 10:04:08 · 1118 阅读 · 0 评论 -
RequestDispatcher include与forward
RequestDispatcher.include和RequestDispatcher.forward的区别:RequestDispatcher.include 方法就是把另一个servlet的输出内容插入到当前 Servlet中,我们假设 IncludlingServlet为调用者, IncludedServlet为被调用者,那么IncludingServlet设置的头字段都不会被修改,而且原创 2013-09-23 09:52:00 · 2156 阅读 · 0 评论 -
自定义标签笔记
body-content共有几种类型,下面叙述如下:自定义标签有几个类,第个类的功能逐渐递增,其中Tag --》 决定是否执行标签体,是否执行标签后面的jsp;IterationTag -->> 决定是否循环执行标签体;BodyTag --》决定是否修改标签题执行后的内容;TagSupport和BodyTagSupport提供给用户继承用;为了决定是否执行标签题,是原创 2013-09-16 20:00:21 · 671 阅读 · 0 评论 -
jsp页面注释
翻译成的servlet的部分代码如下:原创 2013-09-17 09:08:59 · 729 阅读 · 0 评论 -
jsp隐式对象与EL表达式隐式对象
request;response;out ---> JspWriter 可以直接调用 out.println() 方法输出数据;session;application;config --> ServletConfig 对象pageContext 比较复杂,如下page --> 代表当前Servletexception (有时间再研究)//原创 2013-09-17 09:05:04 · 1081 阅读 · 0 评论 -
EL表达式简单汇总
EL引擎${user} 在page,request,session,application 中寻找user属性;${userBean.address.country} 访问 bean中对象的对象属性;${1 > (4/2) } 返回false; EL表达式可以用在接收动态属性的的jsp标签中,也可以用在jstl等标签中; 这里的EL表达式会先被计算,然后和其它字符串原创 2013-09-16 11:19:04 · 1255 阅读 · 0 评论 -
Java类成员初始化顺序与数组初始化
1 Java静态引入import java.lang.Math.min;或 import java.lang.Math.*;2 Java支持可变参数,用时再查3 finalizefinalize 可以说有点多余,用处不大,唯一的用处就是用来标识一些信息,以便发现错误。下面是一种它的用法:class Book { boolean checkedOut原创 2012-08-21 15:02:24 · 1741 阅读 · 0 评论 -
Java 类加载相关知识
注意:本课重点是认识类加载器,及类加载器的加载顺序,了解自己类加载器的编写Java内置三个类加载器,其中 BootStrap 内置于虚拟机中,不是Java语言编写,它是最始祖的类加载器;ExtClassLoader和AppClassLoader是Java内置的类加载器,它们由Java语言编写,它们分别加载不同目录下的Java类,它们加载的目录如上图的右方所示。你可以编写自己的类原创 2012-08-20 10:03:08 · 578 阅读 · 0 评论 -
如何画正弦曲线
package com.testSurfaceView; import java.util.Timer; import java.util.TimerTask; import android.app.Activity; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.g转载 2011-03-11 21:00:00 · 6528 阅读 · 1 评论 -
Socket for server(ServerSocket)
<br />1 The constructor<br /> public ServerSocket(int port) throws BindException, IOException<br /> public ServerSocket(int port, int queueLength) throws BindException, IOException<br /> public ServerSocket(int port, int queueLength, InetAddress bindAddres原创 2011-03-06 18:38:00 · 680 阅读 · 0 评论 -
编码乱码
<br />在编程中总有意的考虑编码问题,特别是String 的构造函数中有 charset 时,那怎么才不头疼呢?<br /> <br />也不管对不对,反正结果正确就行!<br />说是java支持 Unicode的,那一个字符在java内部是按几个字节来表示的呢? 2个! 不管它内部是几个,记住以下情况:<br /> <br />如果你编写java程序时用的是utf8编码,那么Ascii就是一个字节,汉字就是三个字节,这个字符串占的总字节数就代表这个字符串,这个字节总数是个事实,java也不能改变。原创 2011-03-07 17:11:00 · 531 阅读 · 0 评论 -
unicode utf8 utf16区别和联系
<br />Unicode: <br /><br />unicode.org制定的编码机制, 要将全世界常用文字都函括进去.<br />在1.0中是16位编码, 由U+0000到U+FFFF. 每个2byte码对应一个字符; 在2.0开始抛弃了16位限制, 原来的16位作为基本位平面, 另外增加了16个位平面, 相当于20位编码, 编码范围0到0x10FFFF.<br /><br />UTF: Unicode/UCS Transformation Format<br /><br />UTF-8, 8bit编原创 2011-03-05 21:00:00 · 1134 阅读 · 0 评论 -
自己的线程池
线程池我们都听说过,但它具体是如何工作的好像并不清楚。且看下面的分析。当一个任务可由4个线程完成时,如果再生成更多的线程则会降低cpu利用率,那么我们只用这四个线程就行了。 但一个线程当它的任务完成时,它就会die,这样我们就不能再利用了。我们有方法让它不die,并把这4个线程放到一个数组(其它数据结构也行)中来循环利用它们,这个数组就是一个 thread pool 了! 真正实现时还要结合这个任务(task)本身以及线程间的通信。 下面是一个例子,代码比较难,慢慢研究。假设我们想压缩一个目录下所有文件,我原创 2011-03-05 17:19:00 · 549 阅读 · 0 评论 -
java network programming读书笔记(3) URL类和URI类
URL 类的java文档大概分为三部分:1 构造URL 通过设置URL的scheme, authroity, path 等2 当URL构造好后可以用各种getter 来获得它的各部分3 从URL中直接得到流,下面是几种方法的详解public final InputStream openStream( ) throws IOException此方法得到的是原始的字节流,没有包括http协议的头。具体内容如下:The openStream( ) method connects to the resource r原创 2011-01-03 10:58:00 · 855 阅读 · 0 评论 -
java network programming 读书笔记(2) URI and URL
URI refers to Uniform Resource Identifier , 它的一般格式如下:scheme://authority/path?query其中 scheme 包括 data、file、ftp, http 等,在android 中还有 content://关于 authority 指什么呢? 能不能由用户自己定义呢?authority可以指服务器,也可以指一个类(android中便是如此),它的责任是用来决定URI中authority后面的部分如何处理,英语原文是:The autho原创 2010-12-31 17:21:00 · 792 阅读 · 0 评论 -
再论线程同步
synchronized关键字,可以用于代码块或方法前面。一、代码块的情况如下:synchronized( object ) { //your code}这程情况下,同步的锁(lock),就是那个object, 是指这个 object 本身,即使对 object 有不对的引用,锁也是相同的。也许这样说不好理解,举个例子如下:MyObject obj1 = new MyObject();MyObject obj2 = obj1;这时,obj1和obj2指向同一个对象,则 synchronized(obj原创 2010-12-29 13:51:00 · 516 阅读 · 0 评论 -
java swing学习笔计1
虽然java swing用的不多吧,但最近的项目要用一下,只好来学一下了,为了避免重复学习,就把有关重点记录一下。有关的类结构如上。1 如何把窗口显示在屏幕中央Toolkit kit = Toolkit.getDefaultToolkit(); Dimension screenSize = kit.getScreenSize(); int screenWidth = screenSize.width; int screenHeight = screenSize.height; set原创 2011-03-28 14:34:00 · 1558 阅读 · 0 评论 -
java swing学习笔计
<br />虽然java swing用的不多吧,但最近的项目要用一下,只好来学一下了,为了避免重复学习,就把有关重点记录一下。<br /> <br /><br /> <br />有关的类结构如上。<br />1 如何把窗口显示在屏幕中央<br />Toolkit kit = Toolkit.getDefaultToolkit(); Dimension screenSize = kit.getScreenSize(); int screenWidth = screenSize.width;原创 2011-03-28 14:34:00 · 1668 阅读 · 0 评论 -
swing学习笔计2
<br />如何获得系统中的所有字体:<br />String[] fonts = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();<br /> <br />网格组布局(GirdBagLayout)<br />GirdBagConstraints 中的参数<br />1 girdx, girdy 指定了被添加组件左上角的行和列的位置<br />girdwidth,girdheight决定了组件占用原创 2011-03-29 16:38:00 · 1465 阅读 · 0 评论 -
Java泛型
一、在代码中使用泛型二、自己定义泛型原创 2012-08-19 12:09:38 · 453 阅读 · 0 评论 -
Java Annotation简单知识
注:此部分注解知识比较简单,如开发过程中遇到则可以听张视频或看文档几个基本的注解://即使过时了,编译时也不提出警告@SuppressWarnings("deprecation")//声明此方法已经过时了@Deprecated@OverrideAnnotation Type及相关描述可在 java.lang. 包中找到@Retentio原创 2012-08-19 11:04:00 · 602 阅读 · 0 评论 -
Java HashCode作用
import java.util.ArrayList;import java.util.Collection;import java.util.HashSet;public class ReflectTest2 { public static void main(String[] args) { /* Collection collection = new ArrayList(原创 2012-08-18 20:40:35 · 2271 阅读 · 0 评论 -
Java反射机制
注意: Java反射机制主要用在框架中,如Spring/JUnit等,如果你不写框架(大部分人不写),这部分的知识用到的就比较少。所以现在了解即可,用到时再仔细看。一、得到字节码的三种方式:1 Class cls = Date.class;2 Person p = new Person(); Class cls = p.getClass();3 Class.forNam原创 2012-08-18 18:31:20 · 711 阅读 · 0 评论 -
Java5 Enum例子
public class EnumTest { public static void main(String[] args) { WeekDay weekDay = WeekDay.FRI; System.out.println(weekDay); System.out.println(weekDay.name()); //注意.name() //此方法只会输出FRI位于第几个,原创 2012-08-18 12:04:11 · 610 阅读 · 0 评论 -
Eclipse关联java源代码
转自:http://blog.csdn.net/skypine_lee/article/details/7290439Eclipse中看java源代码 JavaEclipseJDKCC++如何在Eclipse sdk中查看jar源代码如:*.jar 1.点 “window”-> "Preferences" -> "Java" -> "Installed JRES"转载 2012-08-17 23:19:05 · 26262 阅读 · 3 评论