Java基础
文章平均质量分 89
KasoGG
技术宅
展开
-
代码行数统计器
自己写的代码统计器,Java实现的,还有些小缺陷。源码下载地址:http://download.csdn.net/detail/kasogg/4533792DirScanner.java01 package com.kaso.codecounter.fileutils;02 03 import java.io.*;原创 2012-08-29 12:22:59 · 560 阅读 · 0 评论 -
构造器决不能调用可被覆盖的方法
在继承中,构造器决不能调用可被覆盖的方法,无论是直接调用还是间接调用。如果违反了这条规则,很可能导致程序失败。下面来看一个例子:import java.util.ArrayList;class Super { public Super() { overrideMe(); } public void ov转载 2012-08-29 12:10:06 · 770 阅读 · 0 评论 -
异常处理的 15 个处理原则
见过很多人在进行异常处理的时候,直接一个 e.printStackTrace() 就完成了,这是一种非常粗陋的做法,首先会导致应用日志的大量错误信息,而很多时候你都不知道这些错误信息因何发生;再者,反应到用户端将直接导致用户无法获取操作的结果以及失败的原因。以下 15 条异常处理的原则来自国外的博客:不用使用异常来管理业务逻辑,应该使用条件语句。如果一个控制逻辑可通过转载 2012-08-29 12:03:25 · 543 阅读 · 0 评论 -
Java命令行聊天小程序
初学了下JavaSE的网络编程这一块,写了个命令行的聊天小程序,只能一人一句聊,并且客户端先开始聊,地址固定为127.0.0.1了。过几天再写个图形界面的。 服务器端:01 import java.io.*;02 import java.net.*;03 public class ChatServer {04 public stat原创 2012-08-29 12:03:07 · 859 阅读 · 0 评论 -
Java中字符串比较时==和equals的区别
==是比较两个字符串引用的地址是否相同,即是否指向同一个对象,而equals方法则比较字符串的内容是否相同。例如String a = "abc"; String b = "abc";a == b返回true,a.equals(b)同样返回true,这是为什么呢? 原来程序在运行时有一个字符串池,创建字符串时会先查找池中是否有相应的字符串,如果已经存在的话原创 2012-08-29 12:02:25 · 780 阅读 · 0 评论 -
Java中声音的播放
前一阵写了一个单击按钮播放声音的小程序。找到了Java application中播放声音的方法。总结了下播放声音的方法:导入的包:import sun.audio.*;import java.io.*;代码片段:try{InputStream in = new FileInputStream(Filename);AudioStream原创 2012-08-29 12:01:09 · 932 阅读 · 0 评论 -
Java文件加密器
自己写了个文件加密器,加密算法没有很复杂,作为练习。源码下载:http://download.csdn.net/detail/kasogg/4533788com.kaso.fileutils --DirScanner.java --FileParser.java --FileParserException.javacom原创 2012-08-29 12:19:43 · 581 阅读 · 0 评论 -
利用Java反射机制输出一个类的内部构造
import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.Method;import java.lang.reflect.Modifier;import java.util.Scanner;public class TestClass {原创 2012-08-29 12:08:56 · 373 阅读 · 0 评论 -
JLabel、JButton换行问题
JLabel、JButton等不能用"\n"换行,但它们支持Html的,所以可以用来实现,例如String s1 = "abc";String s2 = "def";JLabel label = newJLabel("" + s1 +"" + s2 +"");label的显示结果就是:abcdef附上一段小程序:01 package原创 2012-08-28 09:37:52 · 1489 阅读 · 1 评论 -
ThreadPoolExecutor原理简介
1. execute首先判断当前线程池的线程数是不是小于corePoolSize,如果小于直接addWorker创建新的线程进行工作 2. 如果大于等于corePoolSize,则添加到workQueue里面,等池子里线程空闲了就去workQueue里面取任务执行 3. 当workQueue添加满时(有限容量的BlockingQueue),就新建线程放入线程池直接执行,如果池子线程数量达到maximumPool原创 2017-02-16 20:25:37 · 530 阅读 · 0 评论