
java基础
nimahai_balabala
这个作者很懒,什么都没留下…
展开
-
使用intellij idea 查看Java字节码
在intellij idea中的setting 中选择Tools,选择External Tools。 点击添加按钮,写入如下 然后就可以在class里面右键 原文地址: http://blog.youkuaiyun.com/qq_24489717/article/details/53837493...转载 2018-03-06 20:23:57 · 1655 阅读 · 0 评论 -
读书笔记九:异常处理和日志
try catch finally执行顺序 1.当语句块中没有return的时候,执行顺序为try,catch,finally 2.当try或者catch中有return或者throw的时候,finally永远在try中或者catch的return之前执行。 其实更加可以理解为:finally是在执行离开该代码块的语句之前执行。return和throw都是离开该try代码块的代码。 鉴于f...原创 2018-02-27 12:16:44 · 358 阅读 · 0 评论 -
Thinking in java 读书笔记(八.2:abstractCollection、List和AbstractList阅读)
AbstractCollection继承collection,只抽象了两个方法,因为其他方法基本都是可以使用迭代器实现的。 而List接口是增加了八个接口,两个ListIterator方法(ListIterator是可以双向遍历的一种迭代器,只适用于list),两个搜索操作(indexOf,lastIndexof),四个Positional Access Operations。Abstrac...原创 2018-02-21 22:55:41 · 247 阅读 · 0 评论 -
Thinking in java 读书笔记(八.1:持有对象以及collection源码阅读)
其实thinking in java 这章大略的介绍了泛型(runtime type)以及collection的一些API。所以这里是打算直接阅读collection源码。接下来写写阅读源码的感想。 这里看的是jdk8 一、持有对象 泛型: 在SE1.5前没有泛型,很多容器存储对象的时候(比如ArrayList)直接作为Object存储,取出的时候再强制转换。 二、collection接...原创 2018-02-15 12:23:00 · 207 阅读 · 0 评论 -
Thinking in java 读书笔记(七.2:内部类:闭包和控制框架)
一、 内部类是就是面向对象的一种闭包形式。 首先说说闭包。最坑爹的闭包应该是JavaScript的闭包了,JS函数外部无法读取函数内的变量,而函数内可以读取外部变量,然后当外部需要读取内部变量时就需要使用闭包(JS一般使用一个function表示闭包)。 而对于Java来说,可以吧函数类比为class,当我们需要读取某个class的某个private的参数可以使用内部类来访问,因为内部类可以...原创 2018-02-12 20:47:26 · 358 阅读 · 0 评论 -
Thinking in java 读书笔记(七.1:内部类:匿名内部类和内部类的简单应用)
其实本来打算先跳过这章,优先看容器,结果被面试官问:除了接口还有什么解决java多继承的方法,然后懵逼,然后被告知就是内部类。想了想确实应该是一种解决多继承的方法,内部类是可以继承其他类从而拥有其特,outerclass又可以引用内部类,特么的不就是意味着outerclass拥有多个特性。然而就是没这悟性。 一、 静态的内部类和一般的内部类的创建对象形式不同:原创 2018-01-31 00:27:14 · 229 阅读 · 0 评论 -
Thinking in java 读书笔记(六、接口:抽象类/方法,接口的属性和方法,策略模式,适配器模式,工厂模式)
一、抽象类/抽象方法. 抽象方法是没有实体的,继承必须实现抽象方法,如果不实现抽象类的抽象方法, 则子类也是抽象类,抽象类可以没有抽象方法,但是有抽象方法一定是抽象类.二、 接口的属性隐式的为public static final,而且必须要有初始值。接口的方法是默认public abstract的。 接口没有代码块。 这里注意了,接口是可以继承原创 2018-01-26 21:05:10 · 174 阅读 · 0 评论 -
螺旋矩阵
//l行和r列 public int[][] getSnakeMatrices(int l,int r ){ int result[][] = new int[l][r]; int left=0,right=0,top=0,down=0; int point = 0; while (point<r*l){ ...原创 2018-01-18 11:02:00 · 158 阅读 · 0 评论 -
ArrayList和LinkedList的区别
1、访问速度上的区别 因为ArrayList是数组实现的,所以其访问速度更快是O(1),而LinkedList是链表实现的,访问的时候需要指针遍历所以访问速度是O(n)。所以在数值很大的情况下,不要使用for循环来遍历LinkedList。 2、插入和删除的区别 ArrayList每次插入删除的时候都必须检查当前的数组长度,如果add的时候长度不够则需要resize,如果de原创 2018-01-11 23:28:36 · 221 阅读 · 0 评论 -
HashMap以及ConcurrentHashMap
好像面试官对HashMap和current包里面的很有兴趣= =,抽个时间看看。先贴两个比较好的解析,自己的见解有空再谈。十分详细的HashMap源码解析HashMap与ConcurrentHashMap的区别转载 2017-12-04 01:02:28 · 206 阅读 · 0 评论 -
记录下HTTP中的一些琐碎
最最最开始,http其实是对于tcp协议的一种应用。 http就是每次请求响应的时候都开一次tcp连接,传输完就关闭。所以说http是无状态的短连接(因为一次传输后立马关闭,所以不会有任何状态保存),而tcp是长连接(一般的C/S都是Socket一直保存在服务端的)。HTTP请求(用户向服务器请求): 1. 方法-URI-协议/版本 2. 请求头 3. 请原创 2017-11-29 19:47:03 · 227 阅读 · 0 评论 -
Thinking in java 读书笔记(五)
emm重装电脑装java环境真是把我搞死了,日他妈卖批的JDK9 一、动态绑定 多态是动态绑定的,实例代码如下: Shape s = new Circle(); s.draw(); Shape是Circle的父类,如果Circle有覆盖Shape的draw()实例方法,则调用Circle中的方法,如果没有覆盖,则调用Shape中的draw方法,这里有个情况...原创 2017-11-27 16:08:45 · 430 阅读 · 0 评论 -
javafx报错not on fx application thread
javafx聊天室,如果有新用户上线刷新listView,就是重新设置listView的items的时候遇到的一个Exception。 Exception抛出的原因是:javafx所有的UI都是线程不安全的,所以在子线程中要修改Application中的UI组件会抛出exception。 javafx给出的解决方案是所有UI控件的改变写在Platform.RunLater()里面。一下是我原先的原创 2017-11-21 22:48:38 · 2721 阅读 · 0 评论 -
JDBC回顾
//connection,statement记得写在class的成员中。//statement.executeQuery()仅用于查询,return ResultSet;//statement.execute()如果是查询语句会返回true,如果是update或者insert就一定是返回false,所以如果要判断insert或者update是否成功可以使用executeUpdate(),原创 2017-11-16 18:31:36 · 193 阅读 · 0 评论 -
Thinking in java 读书笔记(四、toString,class的初始化顺序)
一、当编译器需要一个String,而只有对象的时候,自动调用toString方法二、子类的构造器类型数量一定是在父类构造器之内三、简易的代理四、final五、初始化原创 2017-11-15 14:55:36 · 315 阅读 · 0 评论 -
Thinking in java 读书笔记(三、finalize(),对象的创建,可变参数列表,函数重载)
一、 finalize()是Object的接口,作用是回收对象,一般由GC自动调用来回收对象,调用后,下个GC周期会回收这个class实例(不建议使用),System.gc()可以显示的调用GC来触发finalize();二、对象创建的过程: 1首次创建或者调用某个class的静态方法/静态域(包括构造器)时,java定位查找class的路径。原创 2017-11-13 02:13:48 · 365 阅读 · 0 评论 -
Thinking in java 读书笔记(二、for循环,标签,switch语句)
一、 for循环拥有逗号操作符,但是仅限于数值的初始值和数值的运算动作,二、 标签,因为break和continue仅仅中断当前循环,而标签会中断循环直到标签所在的地方,标签的定义为 label:iteration。就是说标签的后原创 2017-11-11 12:02:39 · 233 阅读 · 0 评论 -
Thinking in java 读书笔记(一、静态导入,多进制转换API)
因为有java基础的,所以跳过了一些指导的章节,而且记录的也不会很全面,仅仅是记录下不足的java基础。 一、 使用静态导入可以使被导入类的静态变量和静态方法在当前类直接可见,原创 2017-11-09 14:08:23 · 170 阅读 · 0 评论 -
String的不可变
String是被final修饰的类,所有看起来会修改String值的方法都是创建了一个新的String对象。 所以这里要注意的是,String类型实例的传递永远是值传递,而不是引用传递如下代码public class TestDemo{ String string = "99"; char[] c = {'a','b','f'}; Nimaha nimaha = ne原创 2017-11-06 15:14:05 · 194 阅读 · 0 评论 -
java异常语句的执行顺序
try中有两种情况: 1.try中没有异常时,但是有return等跳转语句,这样会引发程序控制流离开当前的try,自动完成finally中资源的释放。 2.try中有异常时,catch在获取到异常之前,进行finally执行,接着执行catch中的语句。 ...原创 2017-11-06 15:04:32 · 440 阅读 · 0 评论 -
多线程复习(一)
线程的状态线程的新建方法Thread类方法Object类方法lock和condition死锁原创 2017-10-27 14:47:32 · 295 阅读 · 0 评论 -
01背包问题
纠结了很久的01背包问题原创 2017-10-11 00:54:18 · 187 阅读 · 0 评论 -
SimpleDateFormat最简单的使用
SimpleDateFormat原创 2017-07-15 00:22:52 · 414 阅读 · 0 评论 -
单例模式的几种形式
单例模式的集中实现形式原创 2017-06-20 14:53:19 · 299 阅读 · 0 评论