1,定义一个类,因为java程序都定义类中,java程序都是以类的形式存在的,类的形式其实就是一个字节码文件最终体现. 2,定义一个主函数.为了让该类可以独立运行. 3,因为演示hello world,在控制台上看到该字样,所以需要使用输出语句完成. 步骤: 1,用class关键字来完成类的定义,并起一个阅读性强的类名. 2,主函数:public static void main(String[] args)这时固定格式的.jvm认识. 3,使用输出语句:System.out.println("…
用java语言对现实生活中的事物进行描述. 通过类的形式来体现的. 怎么描述呢? 对于事物描述通常只关注两方面. 一个是属性,一个是行为. 只要明确该事物的属性和行为并定义在类中即可. 对象:其实就是该类事物实实在在存在的个体. 类与对象之间的关系? 类:事物的描述. 对象:该类事物的实例.在java中通过new来创建的. 描述小汽车 分析: 1,属性. 轮胎数. 颜色.  2,行为. 运行. 定义类其实就是在定义类中的成员. 成员:成员变量<-->属性,成员函数<-->行为. 成…
构造函数:构建创造对象时调用的函数.作用:可以给对象进行初始化. 创建对象都必须要通过构造函数初始化. 一个类中如果没有定义过构造函数,那么该类中会有一个默认的空参数构造函数. 如果在类中定义了指定的构造函数,那么类中的默认构造函数就没有了. 一般函数和构造函数什么区别呢? 构造函数:对象创建时,就会调用与之对应的构造函数,对对象进行初始化. 一般函数:对象创建后,需要函数功能时才调用. 构造函数:对象创建时,会调用只调用一次. 一般函数:对象创建后,可以被调用多次. 什么时候定义构造函数呢?…
内存的划分: 1,寄存器. 2,本地方法区. 3,方法区. 4,栈内存. 存储的都是局部变量. 而且变量所属的作用域一旦结束,该变量就自动释放. 5,堆内存. 存储是数组和对象(其实数组就是对象) 凡是new建立在堆中. 特点: 1,每一个实体都有首地址值. 2,堆内存中的每一个变量都有默认初始化值,根据类型的不同而不同.整数是0,小数0.0或者0.0f,boolean false char '\u0000' 3,垃圾回收机制. 函数的重载. 1,同一个类, 2,同名. 3,参数个数不同.or…
传智播客-毕向东Java基础视频教程 <2013年-33days>版-学习代码记录 链接: GitHub库:JavaBXD33 目录 01-Java基础知识 02-Java对象细节 03-Java中的异常和包的使用 04-Java中的多线程 05-String类和JDK5 06-Java中各种集合容器的使用 07-Java中的IO操作.时间文件切合和合并 08-Java中图形界面的使用 09-Java中网络编程 10-Java中的正则表达式和反射技术 11-网页标签语言HTML 12-网页布局…
继承的好处: 1,提高了代码的复用性. 2,让类与类之间产生了关系,给第三个特征多态提供了前提. java中支持单继承.不直接支持多继承,但对C++中的多继承机制进行改良. 单继承:一个子类只能有一个直接父类. 多继承:一个子类可以有多个直接父类(java中不允许,进行改良) 不直接支持,因为多个父类中有相同成员,会产生调用不确定性. 在java中是通过"多实现"的方式来体现. java支持多层(多重)继承. C继承B,B继承A. 就会出现继承体系. 当要使用一个继承体系时, 1,查看…
Java基础知识总结(超级经典) 转自:百度文库 黑马毕向东JAVA基础总结笔记    侵删! 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java语言代码把思路体现出来. 学习新技术的四点: 1,该技术是什么? 2,该技术有什么特点(使用注意): 3,该技术怎么使用.demo 4,该技术什么时候用?test. ------------------------------------…
java并发编程笔记(三)--线程安全性 线程安全性: ​ 当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些进程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么就称这个类是线程安全的. 线程安全体现在三个方面: 原子性:提供了互斥访问,同一时刻只能有一个线程来对它进行操作 可见性:一个线程对主内存的修改可以及时的被其他线程观察到 有序性:一个线程观察其他线程中的指令执行顺序,由于指令重排序的存在,该观察结果一般杂乱无序. 原子性:Atom…
目录: Java NIO 学习笔记(一)----概述,Channel/Buffer Java NIO 学习笔记(二)----聚集和分散,通道到通道 Java NIO 学习笔记(三)----Selector Java NIO 学习笔记(四)----文件通道和网络通道 Java NIO 学习笔记(五)----路径.文件和管道 Path/Files/Pipe Java NIO 学习笔记(六)----异步文件通道 AsynchronousFileChannel Java NIO 学习笔记(七)----N…
设计模式(JAVA) 视频网址: http://www.qghkt.com/ 设计模式(JAVA)视频地址: https://ke.qq.com/course/318643?tuin=a508ea62 目  录一.设计模式简介二.面向对象设计七大原则三.UML图例说明四.Singleton五.Builder六.Factory Method七.Abstract Factory八.Prototype九.创建型设计模式小结十.Adapter十一.Bridge十二.Composite十三.Decorat…
为什么需要安全性 Java的安全模型是其多个重要结构特点之一,它使Java成为适于网络环境的技术.Java安全模型侧重于保护终端用户免受从网络下载的.来自不可靠来源的.恶意程序(以及善于程序中的bug)的侵犯.为了达到这个目的,Java提供了一个用户可配置的“沙箱”,在沙箱中可以防止不可靠的Java程序.沙箱对不可靠程序的活动进行了限制,程序可以在沙箱的安全边界内做任何事,但是不能进行任何跨越这些便捷的举动.在Java 1.1中引入了基于代码签名和认证的信任模式. 基本沙箱 组成Java沙箱的基…
本文由Vikings(http://www.cnblogs.com/vikings-blog/) 原创,转载请标明.谢谢! 因为一直做Linux有关的开发工作,所以不习惯在Windows平台编译和测试代码.在没有Docker之前,windows基本就是一个IDE平台.在windows上面写好代码之后,再sftp上传到Linux平台进行编译,运行和测试. 这样做虽然没有错,但带来的就是工作效率低下. 并且久而久之,Linux平台里面安装了各种各样的编译器和调试工具,就显得杂乱无章了. 自从有了Do…
目录 1.多线程运行的安全问题 2.多线程同步代码块 3.同步方法的锁是this 4.静态同步方法的锁是Class对象 5.单例设计模式(面试中的考点) 6.死锁(一个发生死锁的例子) 多线程运行的安全问题 例子:售票系统 class Ticket implements Runnable { //定义静态变量ticket private static int ticket=100; public void run() { while(true) { //判断票编号是否大于0 if(ticket>…
18天-06-IO流 字节流和字符流 字节流两个基类:InputStream,FileInputStream,BufferedInputStream OutputStream,FileOutputStream,BufferedOutputStreamPrintStream (打印字节流,带编码格式) 字符流两个基类:Reader,FileReader,BufferedReader,InputStreamReader(字节流转换为字符流读取,带编码格式)Writer,FileWriter,Buff…
22天-01-GUIGUI:Graphical User Interface 图形用户接口 Java为GUI提供的对象都存在java.Awt和javax.Swing两个包中CLI:Common line User Interface 命令行用户接口 Awt:Abstract Window ToolKit(抽象工具包),需要调用本地系统方法实现功能,属于重量级控件.Swing:在Awt的基础上,建立的一套图形界面系统,其中提供了更多的组件,而且完全由Java实现,增强了移植性,属于轻量级控件. 继…
06天-05-面向对象(帮助文档的制作javadoc):java文档生成命令:javadoc -d filepatn demo.java   -author -version(可选)一个类中默认会有一个空参数的构造函数,这个默认的构造函数的权限和所属类一致默认构造函数的权限是随着的类的变化而变化的. 06天-06-面向对象(静态代码块):静态代码块的特点:随着类的加载而加载,只执行一次,用于给类的初始化.非静态代码块的特点:随着类的实例建立而分配内存空间初始化.构造代码块的特点:随着类的实例而初…
1.异常:就是程序运行过程中出现的不正常情况. 异常的由来:问题本身也是日常生活中一个具体的事物,也可以通过java类的形式进行描述,并封装成对象.                        其实,就是java对不正常情况描述的对象体现. 对于问题的划分:一种是严重性问题,一种是非严重性问题.   对于严重的,java用Error类进行描述. 对于Error类一般不写针对型代码对其进行处理.   对于非严重的,java通过Exception类进行描述. 对于Exception类可以使用针对性…
Java反射机制: 是在运行状态中,对于任意一个类(class)文件,都能够知道这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法和属性.这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制. 反射机制中的类:java.lang.Class; java.lang.reflect.Constructor; java.lang.reflect.Field; java.lang.reflect.Method;java.lang.reflect.Modifier;…
14天-01-集合框架集合类出现:面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式.数组与集合类同是容器,有何不同? 数组长度是固定的,集合长度是可变的:数组中只可以存储基本数据类型,集合可以存储对象. 迭代器其实就是集合的取出元素的方式,用于循环遍历. 集合迭代器Iterator:在集合中,把取出方式定义在集合的内部,这样取出方式就可以直接访问集合内部的元素.那么取出方式就被定义成了内部类.而每一个容器的数据结构不同,所…
11天-01-多线程进程:是一个正在执行中的程序.每个进程执行都有一个执行顺序.该顺序是一个执行路径或者叫一个控制单元.线程:是进程中的一个独立的控制单元,线程在控制着进程的执行.一个进程至少有一个线程.Java VM 启动的时候会有一个进程(java.exe).该进程中至少有一个线程负责java程序的执行,称该线程为主线程.扩展:其实更细节说明jvm,jvm在启动时不止启动了一个线程,还有负责垃圾回收机制的线程等. 自定义线程1.通过api查找,java已经提供了对线程这类事物的描述,就是Th…
1.匿名内部类其实就是内部类的简写形式. 2.定义匿名内部类的前提: 该内部类必须继承一个类,或者实现一个接口. 3.匿名内部类的格式:new 父类名或接口名(){定义子类内容:} 4.其实匿名内部类就是一个匿名子类对象,把定义类和创建对象合成一个步骤了,而且这个对象有点“胖”,也可以理解为带内容的对象. 5.匿名内部类中的方法最好不要超过三个. //使用内部类的写法 class Outer { int x=3; class Inner { void show() { System.out.pr…
内部类的访问规则 1. 内部类可以直接访问外部类的成员,包括私有. 之所以可以直接访问外部类的成员,是因为内部类中持有外部类的引用,格式:外部类名.this 2.外部类要访问内部类,必须建立内部类对象. 访问格式: 1.当内部类定义在外部类的成员位置上并且非私有时,可以在外部其他类中,直接建立内部类的对象. 格式: 外部类名.内部类名 变量名=外部类对象.内部类对象: 如:Outer.Inner in=new Outer().new Inner(); 2.当内部类在成员位置上,就可以被成员修饰符…
13天-01-String String类适用于描述字符串事物. 常见的操作:1.获取: 1.1字符串中包含的字符数,也就是字符串的长度. int length():获取长度 1.2根据索引值获取位置上某个字符. char charAt(int index); 1.3根据字符获取该字符在字符串中的位置 int indexOf(int ch);返回的是ch在字符串中第一次出现的位置. int indexOf(int ch,int fromIndex);从fromIndex指定位置开始,获取ch在字…
Java基础知识总结(超级经典) 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java语言代码把思路体现出来. 学习新技术的四点: 1,该技术是什么? 2,该技术有什么特点(使用注意): 3,该技术怎么使用.demo 4,该技术什么时候用?test. —————————————————————————————————————————————————————— 一:java概述: 19…
Java基础知识总结(超级经典) 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java语言代码把思路体现出来. 学习新技术的四点: 1,该技术是什么? 2,该技术有什么特点(使用注意): 3,该技术怎么使用.demo 4,该技术什么时候用?test. -------------------------------------------------------------------…
视频目录:day01-01-基本常识day01-02-Java的跨平台性day01-03-Java环境搭建(安装)day01-04-Java环境搭建(环境变量配置)day01-05-Java环境搭建(环境变量配置技巧)day01-06-Java环境搭建(环境变量临时配置方式)day01-07-Hello.Worldday01-08-classpath配置day01-09-Hello.World的组成部分day01-10-注释day02-01-标识符day02-02-常量day02-03-进制的特…
day09-03 1.匿名内部类的使用场景. Body{  //身体 包括心脏 private  class XinZhang{  // 心脏 可以body的成员变量.如果不想被别人访问,加上private } public showXinZang(){    //如果心脏有病的话,可以向外暴露自己的心脏 new XinZang() } } day09-04 1.如果把一个内部类定义在方法中,那么匿名就成了局部内部类,不能定义成 静态成员. 2. 内部类访问 局部变量,必须定义final 3.…
前几节都是基础中的基础,从第三讲的笔记开始,每次笔记针对Java的一个知识块儿.  Java异常处理 1.什么是异常? 异常是指运行期出的错误.比如说:除以一个0:数组越界:读取的文件不存在. 异常处理,要把异常控制在程序员合理范围之内.如数组越界indexOutOfArray,在用户看来是不可以被理解的,所以,程序员要捕获这种异常,反馈到前端告诉用户是“超出了范围”. Java中针对异常事件,自动生成一个异常对象.这个异常对象封装了异常事件的信息并将其提交给Java运行时系统.Java运行时系…
java多线程下的对象及变量的并发访问 上一节讲到,并发访问的时候,因为是多线程,变量如果不加锁的话,会出现“脏读”的现象,这个时候需要“临界区”的出现去解决多线程的安全的并发访问.(这个“脏读”的现象不会出现在方法内部的私有变量中,因为其私有的特性,永远都是线程安全的) 目前锁有三种:synchronized / volatile / Lock 三类锁各有所长,本节先介绍关键字 :synchronized synchronized关键字用来实现线程之间同步互斥. public class Te…
1960年诞生于MIT的Lisp是第一门真正使用内存动态分配和垃圾收集技术的语言. Java的垃圾收集(Garbage Collection)主要关注堆和方法区的内存回收. 在GC堆进行回收前,第一件事情就是要确定哪些对象还活着,哪些对象已经死亡,需要被回收. 判断对象是否存活的算法: 1)引用计数器(Reference Counting)[Java的GC不使用此算法]:      给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1:当引用失效时,计数器值减1,计数器为0的对象就是…