
java初学知识
微风吹过李子树
这个作者很懒,什么都没留下…
展开
-
Java线程的状态
线程的状态:新生状态 : new的时候,线程处于新生状态就绪状态 : start()方法后线程进入到就绪状态,等待cpu的调度,进入到就绪队列运行状态 : cpu把时间片资源分配给某一个线程,线程才可以进入到运行状态阻塞状态 : sleep()非能够正常运行完毕,直到阻塞解除终止状态 : 线程结束如果一个线程一旦进入到阻塞状态,无法直接恢复到运行状态,需要等待cpu调度如果一个线程一...原创 2019-12-06 21:36:38 · 131 阅读 · 0 评论 -
Java同步锁synchronized
多线程可能存在多个线程同时操作统一资源这样的线程不安全情况,解决这个问题就需要用到同步锁;同步锁需要用在多线程操作的资源之上分为几种情况一、当需要加锁的是静态的时候单例模式->懒汉式,线程不安全的编程不安全:当多个线程同时操作同一份资源的时候,才有可能出现线程不安全问题同步锁: synchronized同步方法:使用在方法上(静态成员都可以)简单,但是范围大,可能效率低同步块:...原创 2019-12-06 21:34:59 · 281 阅读 · 0 评论 -
Java线程通讯
线程通信:线程之间达到通信交流的效果,实现生产者消费者模式wait() 和 notify()线程必须在同步块里调用 wait()或者 notify(),同一对象调用操作才可以,否则会出现异常IllegalMonitorStateExceptionwait() 进入到对应对象的等待池中进行等待,是阻塞状态,等待唤醒,进入就绪状态,等待cpu的调度让出cpu的资源,释放对象的锁notif...原创 2019-12-06 21:33:38 · 130 阅读 · 0 评论 -
Java网络编程
Java网络编程需要关注的店就是IP、URL、端口和协议;IP: 定义网络上的节点(手机,电脑,路由器…)ipv4 32位 ipv6特殊的IP:192.168.0.0~192.168.255.255 组织内部IP,非注册IPjava提供了一个类: InetAddresspublic class NetDemo01 { public static void main(String...原创 2019-12-06 21:31:54 · 164 阅读 · 0 评论 -
Java容器的简单实用
Collection 层次结构 中的根接口。Collection 表示一组对象,这些对象也称为 collection 的元素。一些 collection 允许有重复的元素,而另一些则不允许。一些 collection 是有序的,而另一些则是无序的。JDK 不提供此接口的任何直接 实现:它提供更具体的子接口(如 Set 和 List)实现。此接口通常用来传递 collection,并在需要最大普遍性...原创 2019-12-03 20:10:04 · 138 阅读 · 1 评论 -
JavaIO的常用方法
使用io的目的是想要 读写文件内部的内容,读写的方案就是流,既创建管道,让数据以流动的形式,先入先出的方式进行传输;数据从数据源流向目的地;java提供了IO包供用户使用;流的分类流向分: (以程序为中心)输入流输出流操作单元分:字节流:任何数据都可以传输字符流: 文本功能分:节点流: 操作基本功能的,实现读入写出的,数据从数据源头到目的地的功能流: 增强功能,提高性能,操...原创 2019-12-02 21:53:44 · 1319 阅读 · 0 评论 -
Java设计模式
设计模式:23种设计模式,以后工作中要深入研究单例模式:保证类只能存在一个对象懒汉式:调用功能的时候才创建对象饿汉式:类第一次加载完成之后就创建对象实现步骤:1.构造器私有化2.私有的静态的该类的引用3.公共的访问方式饿汉式:public class Single01 { //2.私有的静态的该类的引用 private static Single01 single=new S...原创 2019-11-29 21:11:36 · 85 阅读 · 0 评论 -
Java静态代理、简单工厂模式
静态代理:真实角色需要和代码角色实现相同的接口 代理需要持有真实角色的引用代理行为减少与真实角色的交流,提高代码的安全性,解耦,便于后期维护,代理角色可以扩展功能public class StaticProxy03 { public static void main(String[] args) { Manager manager=new Manager(); Hr hr=ne...原创 2019-11-29 21:09:39 · 154 阅读 · 0 评论 -
Java内部类、静态内部类、私有内部类、匿名内部类
内部类:类中定义类当一个类中的成员也是另外一个事物的时候,这个事物就可以使用内部类定义 分类:成员内部类静态内部类局部内部类私有内部类匿名内部类 **成员内部类:内部类处于外部类的成员位置是外部的成员,就可以使用成员修饰符是个类,有类的特性,继承,实现接口…注意:内部类中可以使用外部类中所有的内容,包括私有的除了静态内部类以外的内部类中不可以定义静态的内容,除...原创 2019-11-29 21:07:47 · 731 阅读 · 0 评论 -
Java的Lambda表达式
Lambda表达式 jdk1.8的新特性作用:用来简化匿名内部类前提: 函数式接口函数式接口: 只有一个抽象方法的接口就是函数式接口检查函数式接口: @FunctionalInterface语法:()->{}() :抽象方法的参数列表->: 箭头函数|Lambda符号,具有上下文推到的作用{} :抽象方法的方法体public class LambdaDemo01 {...原创 2019-11-29 21:03:28 · 175 阅读 · 0 评论 -
Java异常
异常:Throwable/ Error ExceptionError: 错误,一般是由虚拟机生成并脱出的,不需要关注Exception:异常RuntimeException:运行时异常一般可以通过增强程序的健壮性来处理 ifCheckedException:检查时异常|编译时异常如果出现,不处理,程序无法执行常见的运行时异常:1.空指针异常2.数组越界异常3.数学异常...原创 2019-11-29 21:01:47 · 133 阅读 · 1 评论 -
Java抽象类与接口的关系
java中抽象类和接口的区别是什么?下面就来告诉大家抽象类和接口的区别有哪些抽象方法: 没有方法体的方法、必须在与抽象类中、被abstract修饰的方法1.抽象类可以存在抽象方法,可以存在普通方法2.抽象类不能实例化3.抽象方法必须被重写4.抽象类的使用:1)具体子类:重写所有的抽象方法+按需新增2)抽象子类:按需重写+按需新增5.抽象方法一旦被重写可以不在被重写6.abst...转载 2019-11-28 21:53:07 · 128 阅读 · 1 评论 -
Java抽象类abstract
抽象类:抽象方法: 没有方法体的方法必须在与抽象类中被abstract修饰的方法注意:1.抽象类可以存在抽象方法,可以存在普通方法2.抽象类不能实例化3.抽象方法必须被重写4.抽象类的使用:1)具体子类:重写所有的抽象方法+按需新增2)抽象子类:按需重写+按需新增5.抽象方法一旦被重写可以不在被重写6.abstract与static,private,final,native...原创 2019-11-28 21:41:33 · 167 阅读 · 0 评论 -
Java接口interface
接口: 特殊的抽象类特点的优点:1.接口可以多实现,类只能单继承2.提高代码的复用性3.解耦4.定义开发规范定义接口使用关键字interfacejdk1.7及之前的:属性: 公共的静态的常量 public static final 数据类型 变量名 = 赋值;修饰符可以省略,默认是 public static final,可以按需省略方法:公共的抽象的方法 public a...原创 2019-11-28 21:28:13 · 113 阅读 · 0 评论 -
java关键字super和this之间的区别
super和this之间的区别:this:当前对象(new的对象|调用成员方法的对象)1.调用本类中的其他构造器this(参数列表)2.区分局部和成员之间的问题super:指代父类对象1.调用父类的构造器super()如果没有显示定义,调用父类的哪一个构造器,默认首行调用super()父类空构造因为一般子类构造器的首行会默认调用父类空构造的问题,所以建议模板类都至少存在一个空构造...原创 2019-11-26 20:13:49 · 336 阅读 · 0 评论 -
Java重写
Java重写与重载都是都是指的方法一、区别方法的重载:同一个类中的多个方法方法名相同参数列表不同方法的重写:1.不同的类2.继承|实现3.方法签名相同二、重写的检测的方式:1.eclipse编辑区左侧会出现向上的三角形2.@Override 注解强制检查重写方法三、需要注意的三点== 子类重写的方法签名与父类的方法签名完全相同<= 返回值类型: 返回值类型为基本...原创 2019-11-26 20:08:37 · 374 阅读 · 0 评论 -
JavaBean封装
继承: 子承父业子类|派生类: 继承别的类的类父类|基类|超类: 被继承的类继承如何使用:子类 extends 父类继承的优点:子类一旦继承父类,就可以使用父类中所有的内容提高代码的复用性子类定义扩展的内容,子类独有的内容特点:java是单继承机制,但是可以多实现接口一个类可以有多个子类,但是一个子类只能有一个父类单继承的优点: 使用简单单继承的缺点: 不便于后期维护面...原创 2019-11-26 19:41:45 · 229 阅读 · 0 评论 -
JavaBean封装
面向对象的三大特性: 封装 继承 多态封装: 隐藏内部的实现细节,对外提供公共的访问方式类,方法,属性私有化…都是封装具体的体现私有是封装,封装就是私有,这句话对么???不对 ,私有是封装,封装不仅仅是私有好处:提高代码的复用性提高代码的安全性javabean一系列类的同称:根据一些列对象抽取共性定义的类成为模板类|图纸1.类是公共的2.至少提供一个空构造3.私有的...原创 2019-11-26 19:26:17 · 296 阅读 · 0 评论 -
Java基础之代码块
在java中一对{}包裹的代码就叫做代码块;块{} : 是一个作用域1、 {}写在方法中:普通语句块|局部代码块 执行时机:方法调用时候public void test(){ { System.out.println("这是普通代码块"); }}2、 {}写在类中方法外:构造块 执行时机:创建对象时 public class...原创 2019-11-26 19:04:55 · 129 阅读 · 0 评论 -
Java面向对象1
面向过程与面向对象之间的区别:都是思想,思维方式面向过程:“我该如何实现?” 然后一步一步完成就可以了面向对象:"我该招谁来完成?"只关注对象,不关注实现步骤面向对象是依托于面向过程的面向对象的优点: 1.可以将复杂的问题简单化 2.更贴近与现实生活的的思维方式 3.面向对象更贴近于管理者的角度,面向过程贴近与执行者 面向对象提出2个概念: 让生活与程序建立联系,类,对象 ...原创 2019-11-25 22:02:11 · 181 阅读 · 0 评论 -
JAVA方法的定义和方法的重载Overload
方法就是 给能够解决问题的多行代码取了一个名字的功能块 ,方便我们多次使用;作用:main 方法过于臃肿、重复执行的代码块 命名,方便重复使用、方便自上而下分解问题、方便维护代码一、方法使用1、语法格式修饰符 返回值类型 方法名(形式参数列表){方法体;}例:有返回值的方法public static int sum(int num1,int num2){retur...原创 2019-11-24 21:40:01 · 244 阅读 · 0 评论 -
Java基础之for循环嵌套
双重循环嵌套for(条件初始化;条件判断;条件变化){ //hang//代码for(条件初始化;条件判断;条件变化){ //lie//代码}//代码}外层循环执行一次,内层循环执行一轮(从开始到结束)/* * * * * * * * * * * * * * * * * * * * * * * * * * */ int count=0;...原创 2019-11-22 22:28:33 · 315 阅读 · 0 评论 -
Java基础之for、while、do...while循环
在现实运用当中有时需要进行重复的操作,比如说打印100遍的同一语句;这时候就需要用到循环;一、For循环for(条件初始化;条件判断;条件变化){重复执行的代码;}for循环的执行流程:1.条件初始化2.条件判断3.不满足条件结束循环,满足条件执行,执行循环体语句4.条件变化从第二次循环开始,条件初始化就不执行了条件初始化: 声明一个变量,并第一次赋值 int i=1条件判...原创 2019-11-22 22:19:34 · 189 阅读 · 0 评论 -
Java基础之运算符
运算符指明对操作数的运算方式。组成表达式的Java操作符有很多种。运算符按照其要求的操作数数目来分,可以有单目运算符、双目运算符和三目运算符,它们分别对应于1个、2个、3个操作数。运算符按其功能来分,有算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符和其他运算符。一、单目运算符单目运算符就是只对一个数据进行操作的运算符:++ –++:表示自身增加1;–:表示自身减去1;1、两者当...原创 2019-11-21 22:46:40 · 453 阅读 · 0 评论 -
Java基础之Scanner键盘录入
在Java学习中前期需要模拟前端的数据录入,Scanner就可以模拟此过程,将键盘输入的数据进行接收然后进行处理Scanner的使用1、Scanner类是java为我们提供的类工具,我们使用的时候需要进行导入,所以使用Scanner的第一步就是进行导包;导包的位置在累的上面;导包语句:import java.util.Scanner;2、创建Scanner类型的引用|变量Scanner ...原创 2019-11-21 22:39:29 · 420 阅读 · 0 评论 -
Java基础之Random随机数
在Java中经常需要使用到随机数,Java中的random类就为我们提供了这一方法;Random的使用:nextInt() 随机产生一个int范围内的整数nextInt(整数n) 产生一个[0,n)的随机整数nextDouble() 随机产生[0,1)之间的随机小数公式[0,max) nextInt(max+1);[min,max] nextInt(max-min+1)+min;[...原创 2019-11-21 22:29:09 · 372 阅读 · 0 评论 -
Java关键字、标识符、注释、转义字符
一、标识符Java关键字就是java赋予特殊含义的词,这些关键字不可以拿来做方法名、类名等其他的一切用途,1、特点:全部小写,高级编辑软件会对关键字进行特殊颜色标记2、全部关键字和保留字,黑色为保留字(现阶段没有在java程序当中使用,但是先预约保留下来,以备日后使用,保留字跟关键字具有同样的等级,不可被用来作为标识符)常用关键字总结:关键字就是Java程序本身带有的具有特殊含义的字...原创 2019-11-20 10:36:49 · 611 阅读 · 0 评论 -
Java数据类型转换
Java变成中要运用到各种数据,而且各数据之间不可避免的需要相互转换;本篇就是粗略的讲解一下数据之间的转换。定义数据Java运行的过程就是各种数据之间的值传递,值的传递就需要进行数据类型之间的转换,其中boolean不参与转换1、默认转换从小到大,不需要强制转换byte,short,chr—>int,long,float,doublebyte,short,char之间是平级不参与...原创 2019-11-20 10:30:56 · 126 阅读 · 0 评论 -
Java中的常量和变量概念及定义
Java的运行有时就是量与量之间的转换,其中有的量是保持不变的,有的量是变化的,不变的量叫做常量,变化的量叫做变量。一、常量执行过程中值不发生改变的量叫做常量。1、分类1)字面值常量字符串常量:“hello”整数常量:1,2,3,4,5小数常量:1.2,1.3字符常量:‘a’,‘A’,‘0’布尔常量:true,false空常量:null2)自定义常量二、变量执行过程中值发...原创 2019-11-20 10:28:56 · 936 阅读 · 0 评论 -
JAVA数据类型
1、定义:Java是一种强类型语言,针对每一种数据都提供了对应的数据类型。2、分类为4类8种:1)整型:表示整数数值的数据类型2)浮点型:表示小数数值的数据类型3)字符型:表示单个字符值的数据类型4)逻辑型(布尔型):表中逻辑类型的数据类型...原创 2019-11-19 21:34:01 · 96 阅读 · 0 评论 -
win10jdk1.8的安装
学习java,安装jdk是后续的一起前提,可以说这是学习java的第一步,学会安装jdk,才能有后续的一切;下面将为大家介绍jdk从下载到安装的步骤。1、进入oracle官网选择自己需要的版本下载jdk:https://www.oracle.com/technetwork/java/javase/downloads/index.html2、点击进入jdk下载页面,同意协议,然后选择自己系统...原创 2019-11-18 19:43:02 · 265 阅读 · 0 评论