![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
java基础知识
vanlyy
优秀的猪猪饲养员
想要了解某个技术,请阅读一些相关文档;
想要明白某个技术,请尝试实践这些技术;
想要悟透某个技术,请尝试向他人讲解此技术。
展开
-
记录下在linux下编译java源程序
java项目的编译和执行a.项目结构由于源码太多了,需要一起编译javac @b 先需要输出目录root@vanlyy-PC:~/Cknife-master$ find src -name \*.java > needCompileJavaFiles.txtneedCompileJavaFIles.txt内容c 编译:vanlyy@vanlyy-PC:~/Cknife...原创 2020-03-08 19:11:23 · 696 阅读 · 0 评论 -
inputstream reader
简单明了的介绍了inputstream,inputstreamreader,bufferedreader转载 2019-12-23 09:30:12 · 84 阅读 · 0 评论 -
编码问题
https://www.ibm.com/developerworks/cn/java/j-lo-chinesecoding/这篇文章很好,编码问题看他原创 2019-12-12 08:27:22 · 100 阅读 · 0 评论 -
由一个JAVA的i++问题而引出来的JVM内存分配问题
遇到一道关于i++的题目public class Test{static{ int x=5;}static int x,y;public static void main(String args[]){ x--; myMethod( ); System.out.println(x+y+ ++x);}public static void myMethod( )...原创 2018-07-02 21:57:51 · 1115 阅读 · 0 评论 -
关于public static void main()
刷《Java程序员面试宝典》P42题时候遇到一个问题 是关于public static void main(String[] args){}public关键字,这个好理解,声明主函数为public就是告诉其他的类可以访问这个函数。static关键字,告知编译器main方法是一个静态方法。也就是说main方法中的代码是存储在静态存储区(方法区)的,即当定义了类以后这段代码就已经存...原创 2018-07-04 09:43:05 · 17224 阅读 · 1 评论 -
关于常量池,字符串常量池的整理
由于之前研究了一下JVM的内存划分,对里面方法区的常量池一知半解,于是想要探究一下全局字符串池(string pool也有叫做string literal pool)全局字符串池里的内容是在类加载完成,经过验证,准备阶段之后在堆中生成字符串对象实例,然后将该字符串对象实例的引用值存到string pool中(记住:string pool中存的是引用值而不是具体的实例对象,具体的实例对象是在...原创 2018-07-04 14:43:54 · 4914 阅读 · 8 评论 -
关于JAVA异常
参考 https://blog.csdn.net/xialei199023/article/details/63251277 http://www.importnew.com/26613.htmlJAVA异常体系Throwable类是整个Java异常体系的超类,都有的异常类都是派生自这个类。包含Error和Exception两个直接子类。Exception是应用层面上最顶层的异...原创 2018-07-06 16:47:36 · 247 阅读 · 0 评论 -
源码学习之——ArrayList
ArrayList简介ArrayList 的底层是数组队列,相当于动态数组。与Java中的数组相比,它的容量能动态增长。在添加大量元素前,应用程序可以使用ensureCapacity 操作来增加 ArrayList 实例的容量。这可以减少递增式再分配的数量。它继承于AbstractList,实现了List, RandomAccess, Cloneable, java.io.Serializab...原创 2018-07-28 18:56:57 · 148 阅读 · 0 评论 -
源码学习——LinkedList
简介LinkedList是一个实现了List接口和Deque接口的双端链表。LinkedList底层的链表结构使它支持高效的插入和删除操作,另外它实现了Deque接口,使得LinkedList类也具有队列的特性; 内部结构分析 看完了图之后,我们再看LinkedList类中的一个内部私有类Node就很好理解了: 总结内部类! 这个类就代表双端链表的节点Node。这个类...原创 2018-07-29 17:38:10 · 216 阅读 · 0 评论 -
JAVA集合层次梳理
参考 https://www.cnblogs.com/LittleHann/p/3690187.htmlJava集合类基本概念在编程中,常常需要集中存放多个数据。从传统意义上讲,数组是我们的一个很好的选择,前提是我们事先已经明确知道我们将要保存的对象的数量。一旦在数组初始化时指定了这个数组长度,这个数组长度就是不可变的,如果我们需要保存一个可以动态增长的数据(在编译时无法确定具体的数量),...原创 2018-07-30 12:06:48 · 1058 阅读 · 0 评论 -
源码学习之——HashMap
转载自http://www.importnew.com/28263.htmlHashMap大方向上,HashMap 里面是一个数组,然后数组中每个元素是一个单向链表。上图中,每个绿色的实体是嵌套类 Entry 的实例,Entry 包含四个属性:key, value, hash 值和用于单向链表的 next。capacity:当前数组容量,始终保持 2^n(2的n次方),可以扩容,...转载 2018-08-24 19:53:39 · 196 阅读 · 0 评论 -
类的继承,接口的实现,抽象类
继承的特性子类拥有父类非private的属性,方法。子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。子类可以用自己的方式实现父类的方法。(重写)Java的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承一个父类,多重继承就是,例如A类继承B类,B类继承C类,所以按照关系就是C类是B类的父类,B类是A类的父类,这是java继承区别于C++继承的一个特性。提高了类之间的...原创 2018-09-04 16:42:55 · 426 阅读 · 0 评论 -
与集合相关问题的总结
https://mp.weixin.qq.com/s/20df3rxU1yOb2QvqNrE5JA转载于JAVA面试通关手册1.Arraylist 与 LinkedList 异同1.均是非线程安全;2.ArrayList底层数组实现;LinkedList是双向链表实现;3.ArrayList插入add()直接从数组末尾插入,复杂度O(1),按照位置插入则需要向后移动元素O(n);L...转载 2018-09-13 17:03:56 · 256 阅读 · 0 评论 -
JAVA中I/O总结
Java I/O处理字节流的抽象类:InputStream和OutputStream处理字符流的抽象类:Reader和Writer处理过滤流的抽象类:FilterOutputStream和FilterInputStream处理压缩流的抽象类:InflaterInputStream和DeflaterOutputStream 它们之间的关系如下: File类File类表示...原创 2018-07-02 16:57:13 · 125 阅读 · 0 评论 -
关于String,StringBuilder,StringBuffer,字符串常量池
String是不变得,源码分析https://zhuanlan.zhihu.com/p/38144507如何查看源码https://blog.csdn.net/luo_da/article/details/73744544java.lang.String、StringBuilder、StringBuffer 源码解析https://blog.csdn.net/u011080...原创 2018-07-09 12:00:06 · 2294 阅读 · 2 评论 -
Java --Frame和Panel的区别
初学Java的时候一直弄不清Frame和Panel的区别,都是在上面装组件,也没看出什 么所以然,一直稀里糊涂地用。最近看来一下Java类库中几个主要类的源文件,才明白 了一点所以然。写下了此文,希望能给大家一点帮助。让我们先看一看原始文件中的定义:[Frame] A Frame is a top-level window with a title and a border. <详见java转载 2017-05-28 19:44:38 · 4424 阅读 · 0 评论 -
浅析Swing线程模型和EDT
最近我用Swing写一个测试工具,在阅读我要测试的软件的codes的时候,发现他在更新UI的时候大量的用到了SwingUtilities的invokelater方法。我以前做Swing的应用比较少,大学时代为数不多的几次写Swing程序,我记得都是在main方法里面直接创建Frame和更新界面。以前,我会这么写:```import java.awt.Color;import javax.swing转载 2017-05-29 14:26:34 · 305 阅读 · 0 评论 -
java getSource()和 getActionCommand()
java getSource()和 getActionCommand()比如说 按纽的事件,同一个JFrame里可能有多个按钮的事件,为了避免冲突,给每个按钮设置不同的 ActionCommand,在监听时间的时候,用这个做条件区分事件,以做不同的响应 追问 他与getSource有什么区别 回答 getSource() Returns: The object on which the转载 2017-05-29 10:01:14 · 1734 阅读 · 0 评论 -
关于在画图程序中做图形拖动模块的一个bug
public void mouseDragged(MouseEvent e) { if(dragflag) { int p = e.getX(); int q = e.getY(); int i;// System.out.println(p+","+q);原创 2017-05-31 08:56:10 · 608 阅读 · 0 评论 -
关于异常基础
http://www.cnblogs.com/chenssy/p/3438130.html转载 2017-11-30 16:29:56 · 120 阅读 · 0 评论 -
java 中static详解
如果一个类成员被声明为static,它就能够在类的任何对象创建之前被访问,而不必引用任何对象。static 成员的最常见的例子是main( ) 。因为在程序开始执行时必须调用main() ,所以它被声明为static。 声明为static的变量实质上就是全局变量。当声明一个对象时,并不产生static变量的拷贝,而是该类所有的实例变量共用同一个static变量,例如:声明一个static的变量co转载 2017-12-01 10:49:05 · 502 阅读 · 0 评论 -
Java 内部类种类及使用解析
http://www.cnblogs.com/mengdd/archive/2013/02/08/2909307.html转载 2017-12-01 10:55:59 · 181 阅读 · 0 评论 -
Java事件适配器和监听器
http://www.cnblogs.com/mengdd/archive/2013/02/06/2908241.html http://www.cnblogs.com/mengdd/archive/2013/02/07/2908837.html转载 2017-12-01 17:41:21 · 1792 阅读 · 0 评论 -
java中getAttribute和getParameter的区别
getAttribute表示从request范围取得设置的属性,必须要先setAttribute设置属性,才能通过getAttribute来取得,设置与取得的为Object对象类型 getParameter表示接收参数,参数为页面提交的参数,包括:表单提交的参数、URL重写(就是xxx?id=1中的id)传的参数等,因此这个并没有设置参数的方法(没有setParameter),而且接收参数返回...转载 2018-06-12 09:43:30 · 144 阅读 · 0 评论 -
转载 Java中private、protected、public和default的区别
https://www.cnblogs.com/jingmengxintang/p/5898900.html转载 2018-06-12 11:13:45 · 138 阅读 · 0 评论 -
JAVA的值传递和引用传递
参考https://www.zhihu.com/question/31203609首先,java中方法参数传递方式是按值传递。如果参数是基本类型,传递的是基本类型的字面量值的拷贝。如果参数是引用类型,传递的是该参量所引用的对象在堆中地址值的拷贝。这两句已经很清楚的解释了JAVA是如何传递方法参数的,即传递值的拷贝(我的理解为在调用方法者的栈帧中,拷贝一份值(不论是基本类型还是地址)...原创 2018-07-08 20:18:46 · 7634 阅读 · 5 评论 -
数组类型引用和对象
参考https://www.zhihu.com/question/31203609首先局部变量和方法参数在jvm中的储存方法是相同的,都是在栈上开辟空间来储存的,随着进入方法开辟,退出方法回收。以32位JVM为例,boolean/byte/short/char/int/float以及引用都是分配4字节空间,long/double分配8字节空间。对于每个方法来说,最多占用多少空间是一定的,这...转载 2018-07-09 10:49:29 · 1342 阅读 · 0 评论 -
在用JAVA写一个简易CAD程序时的笔记
单行文本输入框(JTextField) 在许多情况下,用户可能还需要输入一些文字,这时就需要用到文本输入框。单行文本输入框是由 JTextField 类实现的。它的构造函数如下:(1) JTextField() 构造一个新的单行文本输入框。 (2) JTextField(int length) 构造一个指定长度的单行文本输入框。 (3) JtextField(String text) 构造一个指定转载 2017-05-25 20:57:14 · 1923 阅读 · 0 评论