java基础
文章平均质量分 73
_星星之火_
这个作者很懒,什么都没留下…
展开
-
java IO 流
先来看看一个IO流的总体概况:1:先来看看FileInputStream和FileOutputStream的用法:字节流的用法示例 public static void main(String[] args) { //数据写入文件,这里加了中文涉及到乱码问题 String a = "javaIO 流"; FileOutputStrea转载 2017-12-10 13:10:41 · 149 阅读 · 0 评论 -
java需要注意的陷阱和良好的习惯
建议11:养成良好习惯,显示声明UID我们编写一个实现了Serializable接口(序列化标志接口)的类,Eclipse马上就会给一个黄色警告:需要添加一个Serial Version ID。为什么要增加?他是怎么计算出来的?有什么用?下面就来解释该问题。 类实现Serializable接口的目的是为了可持久化,比如网络传输或本地存储,为系统的分布和异构部署提供先决条件支持。若转载 2017-12-17 16:07:41 · 215 阅读 · 0 评论 -
线程之start 和 stop,优先级
建议118:不推荐覆写start方法 多线程比较简单的实现方式是继承Thread类,然后覆写run方法,在客户端程序中通过调用对象的start方法即可启动一个线程,这是多线程程序的标准写法。不知道大家能够还能回想起自己写的第一个多线程的demo呢?估计一般是这样写的:class MultiThread extends Thread{ @Override pub转载 2017-12-25 23:41:28 · 1467 阅读 · 0 评论 -
数据结构Map之TreeMap分析
今天又看了一遍TreeMap的源码,发现其中很有意思,并调试看看它内部是怎么进行添加元素,又是怎么进行比较插入的元素,又是怎么定位新插入的元素(到底放到左子树还是右子树)列子如下:TestMap.javapublic class TestMap { public static void main(String[] args){ HashMap hashMap =原创 2017-12-16 14:54:55 · 1164 阅读 · 0 评论 -
用流实现文件的重命名复制到其他文件夹
在文件服务器中可能会用到文件的重命名,在linux上相对容易但是如果需要程序完成,这时候就要用到流的读取与写出了假如我在linux上某一个文件夹(/home/li/java)找出所有的以.java结尾的所有文件,例如我想将其重命名为.txt文件,并将其复制到另外一个文件夹中(/home/li/txt)思路: 1:找出该文件夹中所有以.java结尾的文件集合 2:原创 2017-12-15 22:27:57 · 917 阅读 · 0 评论 -
java基础之异常
一:异常的分类:java 中的异常又分为运行时异常,异常,系统错误(Error)运行时异常:如果JVM检测出一个不可能运行的操作,就会出现运行时错误,常见的运行时错误有:NullpointException,NotFoundClassException,ArrayIndexOutofBoundException,ClassCastException,AtrithmaticExc原创 2017-12-06 22:44:46 · 189 阅读 · 0 评论 -
泛型和Class
建议98:建议的采用顺序是List中泛型顺序依次为T、?、Object List、List、List这三者都可以容纳所有的对象,但使用的顺序应该是首选List,次之List,最后选择List,原因如下:(1)、List是确定的某一个类型 List表示的是List集合中的元素都为T类型,具体类型在运行期决定;List表示的是任意类型,与List类似,而List则表示Lis转载 2017-12-24 17:37:52 · 1100 阅读 · 0 评论 -
泛型的一些细节小坑
原文地址:点击打开链接建议93:Java的泛型是可以擦除的 Java泛型(Generic) 的引入加强了参数类型的安全性,减少了类型的转换,它与C++中的模板(Temeplates) 比较类似,但是有一点不同的是:Java的泛型在编译器有效,在运行期被删除,也就是说所有的泛型参数类型在编译后会被清除掉,我们来看一个例子,代码如下: 1 public class Foo转载 2017-12-24 15:22:52 · 337 阅读 · 0 评论 -
Comparable与Comparator的具体应用场景
在项目开发中,我们经常要对一组数据进行排序,或者升序或者降序,在Java中排序有多种方式,最土的方式就是自己写排序算法,比如冒泡排序、快速排序、二叉树排序等,但一般不需要自己写,JDK已经为我们提供了很多的排序算法,我们采用"拿来主义" 就成了。在Java中,要想给数据排序,有两种实现方式,一种是实现Comparable接口,一种是实现Comparator接口,这两者有什么区别呢?我们来看一个例子转载 2017-12-23 18:00:44 · 591 阅读 · 0 评论 -
Arrays.asList的陷阱
建议65:避开基本类型数组转换列表陷阱 我们在开发中经常会使用Arrays和Collections这两个工具类和列表之间转换,非常方便,但也有时候会出现一些奇怪的问题,来看如下代码: 1 public class Client65 {2 public static void main(String[] args) {3 int data [] =转载 2017-12-23 12:29:01 · 6467 阅读 · 0 评论 -
ArrayList源码分析
ArrayList是一个拥有变长能力的数据结构,它的初始长度是根据构造方法的不同而发生变化的;首先看看它的无参构造方法:private static final long serialVersionUID = 8683452581122892189L; /** * Default initial capacity. */ private static原创 2017-12-23 11:06:11 · 212 阅读 · 0 评论 -
java异常转角遇到return
try{}里面有一个return语句,那么紧跟在这个try后的finally{}里面的code会不会执行,我一直以为是在return语句前执行,原来还有一种说法是在中间执行:例证如下: public class Test{ public static void main(String[] agrs){ System.out.println(n转载 2017-12-05 22:13:04 · 186 阅读 · 0 评论 -
静态内部类
参考原文地址:原文链接静态内部类,所谓静态是在加载它的时候存在与方法区中的与实例没有半毛钱关系,静态内部类同样是不依赖具体的外部类,即:1:不持有外部类的引用2:不能访问外部类的非静态属性和方法,可以访问外部类的静态实行属性和方法(private也不例外)3:普通内部类不能声明static的方法和变量:常量final static还是可以的,静态内部类没有限制4:普通内部类与外转载 2017-12-21 22:13:52 · 396 阅读 · 0 评论 -
java 代码执行脚本程序
现在脚本语言一度火热,java很早就对脚本语言进行了支持,常用的就是js,python语言,下面演示java语言执行js脚本的例子:ScriptClass.javapublic class ScriptClass { public static void main(String[] args) throws FileNotFoundException, ScriptExceptio转载 2017-12-17 20:29:29 · 1871 阅读 · 0 评论