java课堂笔记4】的更多相关文章

回想自己学习和使用Java的时间也是很长了.本科期间课堂上浅尝辄止地学习了点皮毛,后来也是搁置不用,未曾深入研究.研究生期间因为项目和实习的原因,基本算是重新拾起Java这门语言,并且接触到了Spring Boot等一些业界常用的开源框架,再到后来准备校招面试,认真看了很多Java的一些实现原理.如今校招已经告于段落,在自己的印象笔记中零零散散地记录着很多知识点,虽然相比于从前,自己知道的东西多了很多,但是仍然觉得缺乏梳理和串联,未能很好地形成自己的知识体系.现计划对Java的相关知识进行一个系…
1.两种方式的差异 2.线程的生命周期 3.线程控制(线程的方法) 4.线程同步 5.线程同步锁 一. 两种方式的差异 A extends Thread :简单 不能再继承其他类了(Java单继承)同份资源不共享 B implements Runnable:( 推荐) )多个线程共享一个目标资源,适合多线程处理同一份资源. 该类还可以继承其他类,也可以实现其他接口. 二. 线程的生命周期 新建:当程序使用new创建一个线程后,该线程处于新建状态,此时他和其他java对象一样,仅仅由Java虚拟机…
内存: 堆区,栈区,常量区,计数区,代码区: 数据类型: 基本数据类型:整形,浮点型,布尔型 boolean 只能返回真假值,字符型: 引用数据类型:类,数组: 基本数据类型-->直接存放到栈区: 引用数据类型-->将引用放到栈区,将内容放到堆区: 全栈工程师:全都会,最牛逼: 数组声明: int [] a = new int [7]:   方法: 修饰符 返回值类型 方法名(参数列表){ 方法体... [return] } 方法的唯一性: 方法名+参数列表(顺序,个数,类型):   方法的重…
本篇博客将对Java中的数据类型.操作符,常量与变量和数组进行介绍.这些内容都是Java中最基本的知识,也是初学Java时最开始就需要了解的东西. Java数据类型 Java是一种强类型的语言,这就意味着编写Java代码时必须为每一个变量都声明一个类型,且每个变量只能被赋予与其类型匹配的值.Java中的数据类型可以分为基础数据类型和引用数据类型,两者间最大的差别是在计算机中的存储方式和位置不同.基础数据类型在创建时会在栈中分配一块内存,将数据直接存储在其中:而引用数据类型在被创建时,会在堆内存上…
1.  Java严格区分大小写 2.  一个源文件public主类名必须和文件名完全一致 3. 命名规则严格要求,字母.数字.下划线.美元符号$.下划线_组成,其中不能以数字开头,也不能使用Java的关键字 Java执行过程: 1.  编写源码 2.  编译源码(xxx.java->xxx.class,这个过程中,生成字节码文件) javac.exe 编译器       编译时必须写文件名 3.  运行(字节码文件运行得出结果)                                  …
在面向对象一文中,我们说了多态的一个功能是将“做什么”和“怎么做”分离开来,所采用的方法是将不同的具体实现放在不同的子类中,然后向接口中传入一个父类对象的引用.而本篇博客要说的内容则为接口(此处"接口"的理解是“可以供外部调用的方法”,与本章所述的“接口”区别)和实现的分离提供了一种更加结构化的方法.抽象类和接口赋予了Java对象抽象能力,为面向对象设计提供了很大的支持. 在<Java编程思想>中,作者在介绍两者的使用方法和特点以外,还结合大量的Demo代码来阐述了它们在程…
几乎每一本介绍Java语言的书中都会提到“面向对象”的这个概念,然而博主初学Java时看到这方面的内容一般都是草草地看一看,甚至是直接略过.原因很简单:考试基本不考,而且初学阶段写代码也很少用上.但事实上面向对象时Java中一个非常重要的内容,而且与代码这整体设计关系很大.越是具有丰富的编程经验,就越能体会到这个思想在实际代码结构设计中的重要性.在<Java编程思想>中,作者用了很大的篇幅来介绍面向对象的相关内容,其中不乏一些关于如何运用面向对象来优化程序结构,提高代码的可读性和可维护性的内容…
内部类lambda重点摘要 内部类特点: 内部类可以直接访问外部类,包括私有 外部类访问内部类必须创建对象 创建内部对象格式: 外部类.内部类 对象名=new外部类().new内部类(); 静态内部类访问: 外部类.内部类.方法名 局部内部类: 局部内部类在方法中定义的类,外届无法直接使用,需要在方法内部创建对象并使用,该类可以直接访问外部类成员,也可以访问方法类的局部变量 私有成员内部类访问需在自己外部类中创建对象 匿名内部类: 前提: 需要一个类或者接口 格式: new 类名/接口名(){重…
多态与接口重点摘要 接口特点: 接口用interface修饰 interface 接口名{} 类实现接口用implements表示 class 类名 implements接口名{} 接口不能实例化,可以创建接口实现类 接口的子类 要么重写所有的接口中的抽象方法 要么子类也是一个抽象类 类和接口关系: 类与类关系 继承关系,只能单继承,可以多层继承 类与接口的关系 实现关系,可以单实现,也可以多实现,还可以继承一个类的同时实现多个接口 接口与接口关系 继承关系,可以单继承,可以多继承 接口默认方法…
前言 第一天的算法都还没有缓过来,直接就进入了第二天的算法学习.前一天一直在整理Binary Search的笔记,也没有提前预习一下,好在Binary Tree算是自己最熟的地方了吧(LeetCode上面Binary Tree的题刷了4遍,目前95%以上能够Bug Free)所以还能跟得上,今天听了一下,觉得学习到最多的,就是把Traverse和Divide Conquer分开来讨论,觉得开启了一片新的天地!今天写这个博客我就尽量把两种方式都写一写吧. Outline: 二叉树的遍历 前序遍历t…
OCP 052 课堂笔记 目录 第一部分: Oracle体系架构... 4 第一章:实例与数据库... 4 1.Oracle 网络架构及应用环境... 4 2.Oracle 体系结构... 4 3. SGA. 5 4 Oracle的进程: 9 5 PGA. 12 6.用户与Oracle服务器的连接方式... 12 第二章:实例管理及数据库的启动/关闭... 14 2.1 实例和参数文件... 14 2.2 数据库启动与关闭:... 16 2.3 告警日志:alert_SID.log. 18 2.…
20145316许心远<Java学习笔记(第8版)>课程总结 每周读书笔记链接汇总 ▪ 第一周读书笔记 ▪ 第二周读书笔记 ▪ 第三周读书笔记 ▪ 第四周读书笔记 ▪ 第五周读书笔记 ▪ 第六周读书笔记 ▪ 第七周读书笔记 ▪ 第八周读书笔记 ▪ 第九周读书笔记 ▪ 第十周读书笔记 实验报告链接汇总 ▪ 实验一:Java开发环境的熟悉(Windows + IDEA) ▪ 实验二 Java面向对象程序设计 ▪ 实验三 Java面向对象程序设计 ▪ 实验四 Android开发基础 ▪ 实验五 Ja…
什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条线程访问,一条线程在执行一个循环的过程中被中断,下一个线程则出现错误 因此,线程任务中可能引起错误的地方应当被一次执行完毕 同步代码块 用同步代码块改写上面的代码 package testpack; public class Test1 { public static void main(Strin…
什么是注解 注解可以看作类的第6大要素(成员变量.构造器.方法.代码块.内部类) 注解有点像修饰符,可以修饰一些程序要素:类.接口.变量.方法.局部变量等等 注解要和对应的配套工具(APT:Annotation Processing Tool)一起使用,APT会对含有注解进行一些处理 比如API文档里面,有些方法下边的"@Deprecated",就是一个注解,它表示这个方法已经过时,使用的时候会收到警告 注解完全不影响程序的功能 元注解 元注解有6个,位于java.lang.annot…
Java学习笔记(04) 如有不对或不足的地方,请给出建议,谢谢! 一.对象 面向对象的核心:找合适的对象做合适的事情 面向对象的编程思想:尽可能的用计算机语言来描述现实生活中的事物 面向对象:侧重于对象 1.类和对象的关系 :            类是对同一类事物(对象)的抽象,对象是实际存在的该类的各种实体 创建的对象内存分析: 创建的对象存在栈区,开辟的内存空间存在于堆区,在堆区保存值  …
JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器.堆栈.寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹配JVM对载入编译文件格式要求,任何语言都可以交由JVM运行,比如Scala.Groovy.Fantom等,见Java虚拟机维基百科 JVM虚拟机除了Sun开发的HotSpot外,还有BEA.IBM.微软.等公司都有开发.见<深入理解Java虚拟机(第二版)> 查看自己用的JVM:cmd->…
垃圾回收特点 垃圾:程序运行过程中,会为对象.数组等分配内存,运行过程中或结束后,这些对象可能就没用了,没有变量再指向它们,这时候,它们就成了垃圾,等着垃圾回收程序的回收再利用 Java的垃圾回收机制只回收堆内存中的对象,不回收数据库连接.IO等资源,所以才要在finally中关闭 要回收,但什么时候回收是不一定的,即使显式的调用了System.gc() 垃圾回收程序在真正回收之前,会先调用被回收对象的finalize()方法,这是Object的protected方法,每个类都要继承的,这个方法…
匿名内部类与Lambda表达式示例 下面代码来源于:0027 Java学习笔记-面向对象-(非静态.静态.局部.匿名)内部类 package testpack; public class Test1{ public static void main(String[] args) { ProcessArray pa=new ProcessArray(); int[] target={5,35,-2,35,-21}; pa.process(target, new Command(){ //匿名内部类…
final关键字可以用于何处 修饰类:该类不可被继承 修饰变量:该变量一经初始化就不能被重新赋值,即使该值跟初始化的值相同或者指向同一个对象,也不可以 类变量: 实例变量: 形参: 注意可以修饰形参 局部变量 修饰方法:该方法不可被重写 final修饰成员变量 final修饰成员变量,必须显式的指定初始值,系统不会为final成员进行隐式初始化,不能在初始化前访问. 因为,不管是类变量还是实例变量,都有个初始化的过程,初始化赋值后便不能再赋值,如果不显式的指定初始值,那么这些变量就没有存在的意义…
什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在结构化编程语言里,函数是基本的程序组成单元,一个程序由一个个函数组成: 在面向对象编程语言里,类才是程序的基本单元,方法是属于类或对象的,不能独立存在: Java语言里方法的特征主要在以下几个方面: 方法不能够独立的存在,方法只能够定义在类里面,所属与某个类或对象: 方法不能够被独立地执行,必须使用…
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多态 第七章 接口与多态 第八章 异常处理 第九章 Collection与Map 第十章 输入/输出 第十一章 线程与并行API 第十二章 Lambda 第十三章 时间与日期 第十四章 NIO与NIO2 第十五章 通用API 第十六章 整合数据库 第十七章 反射与类加载器 第十八章 自定义类型.枚举 补充:Ja…
创建线程 创建线程的方式: 继承java.lang.Thread 实现java.lang.Runnable接口 所有的线程对象都是Thead及其子类的实例 每个线程完成一定的任务,其实就是一段顺序执行的代码 继承java.lang.Thread创建线程 public class Test1 { public static void main(String[] args){ System.out.println("现在是主线程: "+Thread.currentThread()); //…
Java初学者笔记 前提:认识汉字,认识英语单词,会用键盘打字 ------------------------------- 端口是什么: --------面向对象编程(OOP) 接口”(Interface)规定了可对一个特定的对象发出哪些请求继承:重新使用接口在Java语言中,继承是通过extends关键字实现的,extends关键字暗示着我们要为接口“扩展”新功能, 在一个程序中,这些独立运行的片断叫作“线程 Thread -----------Java除了可解决传统的程序设计问题以外,还…