猴子的Java学习笔记
一步一步,脚踏实地
我能在河边钓一整天的鱼
欢迎来到我的酒馆
展开
-
Java中的注解
注解的概念什么是注解注解就是做个笔记。只不过这个笔记可以在程序运行时获得元注解@Target:指明这个注解能用在哪里?@Retention:指明这个注解什么时候起作用@Documented:指明这个注解能形成文档@inherit:指明这个注解能否被继承...原创 2019-07-09 19:20:03 · 126 阅读 · 0 评论 -
24.虚拟内存是怎么起作用的?
虚拟内存是怎么起作用的?匀出一部分硬盘空间作为虚拟内存原创 2019-05-30 09:49:36 · 186 阅读 · 0 评论 -
23.操作系统是如何管理内存的?地方太小不够塞肿么办?
目录操作系统是如何管理内存的?地方太小不够塞肿么办?操作系统是如何管理内存的?静态分配➡动态分配地方太小不够塞肿么办?分段,解决外碎片。分页,解决内碎片...原创 2019-05-29 14:11:40 · 283 阅读 · 0 评论 -
22.程序和进程(Linux),代码和数据为什么分开存放?
目录程序和进程(Linux)代码和数据为什么分开存放?原图程序和进程(Linux)程序其实是一个含有运行的代码和数据以及其他关于本程序在内存中运行的大小等信息的一个合体。而这里所讲的程序我们以可执行文件来代替。程序在磁盘上,当操作系统把程序相关信息读入到内存中并合理的分配了运行时的内存大小,也就是堆内存和栈内存之后,创建PCB然后程序就变成了进程,那么...原创 2019-05-26 13:53:28 · 745 阅读 · 0 评论 -
21.内存与虚拟内存,磁盘的结构
内存与虚拟内存RAM(随机存取存储器),也叫主存 ,通常指内存条。存取速度非常快,时间复杂度为O(1)。磁盘的结构原创 2019-05-24 19:27:57 · 401 阅读 · 0 评论 -
20.操作系统内核
寄存器什么是寄存器?寄存器在哪?寄存器是用来存储数据的,位于CPU中。指令指令是什么,指令由什么构成?有什么用?指令就是CPU执行的基本单元。指令由操作码和操作数构成。它用来控制硬件执行相应动作操作码,操作数操作码是什么?操作数是什么?32位机指令中的操作码和操作数各多占几位?操作码就是要做的操作是什么类...原创 2019-05-24 19:15:14 · 197 阅读 · 0 评论 -
19.泛型补充,父子线程
泛型补充结合前面分析,为啥第一块代码报错,第二块代码正确?//报错public static void xx(List<? extends Number> list) { list.add(1);}//正确public static void xx(List<? super Number> list) { list...原创 2019-05-22 21:23:19 · 166 阅读 · 0 评论 -
18.泛型收尾,Scala,线程
泛型重载时的问题方法的名称相同,参数不同,为啥报错?答:因为泛型有一个重要特性,类型擦除,指定的泛型类型的确不一样,但是编译时都被擦除为Object了。如何解决这个问题呢?把声明对象引用的类型写成?通配符就OJBK了。Scala纯面向对象语言,应用函数编程思维,可以调用java语言的类库线程的执行...原创 2019-05-22 16:58:02 · 167 阅读 · 0 评论 -
17.泛型中篇
目录类型擦除通配符?泛型方法博客链接类型擦除泛型有个东西叫类型擦除,也就是在new或声明对象的引用时指定的类型在编译的时候就已经擦除了,转换成了Object类型。它的目的是与之前jdk版本的代码兼容共存。通配符?//1.等号左侧使用通配符,代码段没问题等号右侧<>中可以填写任意类型GenericCla...原创 2019-05-21 09:35:39 · 151 阅读 · 0 评论 -
16.泛型上篇
泛型(Generic)含义 就是泛指一个类型,通过指定类型可以在编译时就能检测出是否发生castException(类型转换)异常。减少了程序员编程时的错误。在哪里用 在类或者方法上使用泛型的上限和下限<T extends String> //设置上限,只能是String类型<T super String> //设置...原创 2019-05-20 16:28:32 · 157 阅读 · 0 评论 -
15.线性表总结,java中类的定义方式
目录线性表总结java中类的定义方式.exe文件里面包括内部类是如何访问外部类的?线性表总结1.链表和顺序表的区别顺序表存储地址是连续的,链表存储地址是不连续的,但是链表的值是连续的。2.在哪种环境下使用链表?顺序表顺序表适用于查找,不适用于增删改。链表适用于增删改,不适用于查找。3.使用arraylist的注意事项和优化...原创 2019-05-19 10:09:11 · 275 阅读 · 0 评论 -
14.JNI,Equlas方法的空指针问题,java中的异常
目录JNIEqulas方法的空指针问题Java异常原图JNIJava的本地接口,提供了若干的API实现了Java和其他语言的通信。由C或者C++编写。JNI在本地方法栈中执行Equlas方法的空指针问题Java中使用equals方法,必须使用.equals(xxx)的方法,也就是确定调用equals的对象不为null,这样...原创 2019-05-19 10:08:46 · 378 阅读 · 0 评论 -
13.数据结构,算法的概念
什么是算法算法就是如何去完成一件事情,算法的选择就是如何节约成本和时间去完成一件事情。算法分类:蛮力法(简称SB法) 分治法(分而治之的解决问题) 贪心法(大概率优先) 回溯法(没找到会回溯到之前的路径) 动态规范法(解决问题需要用到前面过程的解)什么是数据结构数据结构是数据存放的一种方式,用来组织数据,使得磁盘或者内存空间更有效率的...原创 2019-05-19 10:08:14 · 245 阅读 · 0 评论 -
12.缓存,进程与线程
缓存是用来干嘛的用来解决速度不匹配进程与线程程序在内存中以进程的方式运行,一个进程可包括多个线程,进程是操作系统分配资源的基本单位;而线程是CPU调度的基本单位。...原创 2019-05-19 10:07:45 · 277 阅读 · 0 评论 -
11.线性表的体系结构
地址指的是内存地址结论:ArrayList查找效率高,LinkedList增删改效率高。原创 2019-05-19 10:07:14 · 176 阅读 · 0 评论 -
10.ArrayList,LinkedList集合
ArrayList中add方法的复制操作1.如图,先新建了一个list数组,长度为02.调用add方法后,通过arrays工具类中的copy方法把这个list数组的长度增加为10结论:在创建数组时最好定义一个初始化数组容量。因为在第一次调用add方法时会进行一堆方法的执行,甚至还调用了System.ArrayCopy这个JNI来执行数组的复制,会消耗大量的cp...原创 2019-05-19 10:06:36 · 167 阅读 · 0 评论 -
09.Arraylist集合
Arraylist集合的体系图对于如下类图,需要说明的是。如果是抽象类要实现接口,可以实现部分方法或者一个都不实现,要是具体的类就必须实现接口中所有的方法。可联想九阳神功~...原创 2019-05-19 10:05:56 · 143 阅读 · 0 评论 -
08集合,接口中的方法
目录变量与集合接口实现方法变量与集合变量包括变量的类型和变量的名字,是用来存储信息的容器。集合包括集合的类型和集合的名字,它是把一组拥有相同类型的变量保存起来的容器。接口实现方法接口里为什么会有实现方法呢?//演示接口中的方法代码public interface Collection<E> ext...原创 2019-05-19 10:05:38 · 205 阅读 · 0 评论 -
07常量池,访问符,方法的重载与多态
目录比较变量三访问修饰符方法的重载多态比较变量三String string1 = "llopp";String string2 = "llo";String string3 = String2 + "pp";System.out.pringtln(string1==string3);//返回的为false,证明下比较的过程。...原创 2019-05-19 10:05:05 · 159 阅读 · 0 评论 -
06.常量池
目录常量池比较变量例一比较变量例二什么方法在线程栈中执行?什么方法在本地方法栈中执行?常量池如图,常量池存在于JVM的方法区里面。常量池中是一张张表示符号引用的表。常量表有12个比较变量例一 //判断是否相等 Integer integer1 = 128; Integer intege...原创 2019-05-19 10:04:43 · 214 阅读 · 0 评论 -
05如何学习一个框架
如何学习一个框架1.先查下这个框架解决了什么问题2.看这个框架的架构图3.然后看内容,不懂去百度查,边看边想边思考。原创 2019-05-19 10:04:11 · 229 阅读 · 0 评论 -
04.实例变量,类变量,java由来
目录实例变量和类变量面向对象的三阶段Java语言的由来实例变量和类变量定义:实例变量是没有static修饰的变量,类变量是由static修饰的变量类变量的初始值:类加载器在准备阶段会给类变量赋初始值,不同类型的类变量的初始值如下: 变量类型 初始值 byte 0 ...原创 2019-05-19 10:03:09 · 150 阅读 · 0 评论 -
03.JVM的运行原理
目录原理说明堆内存中开辟的对象结构方法的执行实例父子类的执行顺序原理说明接着上一篇。1.被编译成helloworld.class文件进入到虚拟机的方法区中。2.执行Main方法把Main方法压到线程栈里面3.在线程栈中会声明一个对象。假如Main方法中的代码是 Hello hello = new Hello();这一步是在线程栈中...原创 2019-05-19 10:02:24 · 175 阅读 · 0 评论 -
02.类加载器和JVM
目录类加载器的功能分解JVM类加载器的功能上一节我们讲过了.java格式的文件会转换成.class格式。而.class格式需要通过类加载器才能进入到JVM中。下面以HelloWorld为例,讲解下类加载器的功能和作用。类加载器有七大功能:<1>加载加载很好理解,就是把代码加载到“类加载器”中。<2>验证验证有两个...原创 2019-05-19 10:00:59 · 180 阅读 · 0 评论 -
01.HelloWorld
目录Java和C++,C语言的区别Java底层运行图什么是JVM?什么是JDK?什么是JRE?简单分析HelloWorld的执行Java和C++,C语言的区别1.C语言面向过程,关注的是数据的流向;C++和Java面向对象,关注的是不同对象之间如何进行交互。2.Java把C++的复杂语法以及手动释放内存以及容易造成编程错误的指针等弊端屏蔽了。...原创 2019-05-19 09:58:29 · 184 阅读 · 1 评论