Java
文章平均质量分 56
Void_CM
这个作者很懒,什么都没留下…
展开
-
Java-15-注解和反射
Java-15-注解和反射注解(Annotation)概述Annotation是从JDK5.0开始引入的新技术作用:对程序作出解释(这一点和注释的效果一样)可以被其他程序(比如编译器)读取格式:注解以"@注释名"在代码中存在,还可以添加一些参数值,比如@SuppressWarnings(value=“unchecked”).在哪里使用?可以附加在package,class,method,field等上面,相当于给他们添加了额外的辅助信息,通过反射机制编程可以实现原创 2021-03-14 13:30:35 · 132 阅读 · 0 评论 -
Java-14-网络编程
Java-网络编程概述计算机网络是通过传输介质、通信设施和网络通信协议,把分散在不同地点的计算机设备互连起来的,实现资源共享和数据传输的系统。网络编程就是编写程序使互联网的两个(或多个)设备(如计算机)之间进行数据传输。Java语言对网络编程提供了良好的支持。通过其提供的接口我们可以很方便地进行网络编程。网络编程的目的数据交换,数据通信,资源共享网络编程中的两个主要问题如何定位网络上的一台或者多台主机如何通信网络编程中的要素IP 和 端口号 IP类网络通信协议 UDP,TCP原创 2021-03-13 13:02:55 · 100 阅读 · 0 评论 -
Java-12-多线程(线程池)
Java-多线程(线程池)背景:经常创建和销毁,使用量特别大的资源,比如并发情况下的线程,对性能影响很大思路:提前创建好多个线程,放入线程池,使用时直接获取,用完放回池中,可以避免频繁创建销毁,实现重复利用好处:提高响应速度(减少了创建新线程的时间)降低资源消耗(重复利用线程池中线程,不需要每次都创建)便于线程管理参数corePoolSize:核心池的大小maximumPoolSize:最大线程数keepAliveTime:最大空闲时间使用线程池原创 2021-03-13 10:04:08 · 99 阅读 · 0 评论 -
Java-12-多线程(线程协作)
Java-多线程(线程协作)生产者消费者模式实体:生产者,消费者,仓库仓库只能存放固定大小的产品生产者生产产品放入仓库(前提是仓库没满)消费者消费从仓库拿走产品(前提是仓库有产品)这里存在明显的先后顺序,是一个线程同步问题,生产者和消费者共享一个资源,二者互为依赖,互为条件在生产者消费者问题中,仅有synchronized是不够的synchronized虽然可阻止并发更新同一个共享资源,实现了同步但synchronized不能实现不同线程之间的消息传递(通信),比原创 2021-03-12 17:18:15 · 82 阅读 · 0 评论 -
Java-12-多线程(Lock锁)
Java-多线程(Lock锁)从JDK5.0开始,Java提供了更强大的线程同步机制,通过显式定义同步锁对象来实现同步,同步锁使用Lock对象充当java.util.concurrent.locks.Lock接口是控制多个线程对共享资源进行访问的工具,锁提供了对共享资源的独占访问,每次只能有一个线程对Lock对象加锁,线程开始访问共享资源前应先获得Lock对象ReentrantLock(可重入锁)类实现了Lock,它拥有与synchronized相同的并发性和内存语义,在实现线程安全的控原创 2021-03-12 17:17:36 · 149 阅读 · 0 评论 -
Java-12-多线程(死锁)
Java-多线程(死锁)多个线程各种占有一些共享资源,并且互相等待其他线程占有的资源才能运行,而导致两个或多个线程都在等待对方释放资源,都停止执行的情形,某一个同步块同时拥有"两个以上对象的锁"时,就可能会发生"死锁"的问题模拟死锁//测试死锁//多个线程互相抱着对方的资源,形成僵持public class DeadLock { public static void main(String[] args) { EatFood man1 = new EatFood(0,"原创 2021-03-12 17:16:55 · 106 阅读 · 0 评论 -
Java-12-多线程(线程同步)
Java-多线程(线程同步)多个线程操作同一个资源并发引起的问题同一个对象被多个线程同时操作(抢火车票),数据存在紊乱现象如何解决呢?排队,一个一个来并发示例1------抢火车票//不安全的买票//线程不安全,存在负数和重复值public class UnsafeBuyTickets { public static void main(String[] args) { BuyTickets station = new BuyTickets();原创 2021-03-12 17:15:51 · 142 阅读 · 0 评论 -
Java-12-多线程(线程方法)
Java多线程-线程方法线程方法方法说明setPriority(int newPriority)更改线程的优先级static void sleep(long millis)在指定的毫秒数内让当前正在执行的线程体休眠void join()等待该线程终止(插队)static void yield()暂停当前正在执行的线程对象,并执行其他线程void interrupt()中断线程,别用这个方式boolean isAlive()测试线程是否处于活动原创 2021-03-12 17:15:00 · 100 阅读 · 0 评论 -
Java-13-Lambda表达式
Java-13-Lambda表达式避免内部类定义过多让代码看起来很简洁,去掉无意义的代码,只留下了核心的逻辑其实质属于函数式编程的概念函数式接口任何接口,如果只包含唯一一个抽象方法,那么它就是一个函数式接口public interface Runnable{public abstract void run();}对于函数式接口,可以通过lambda表达式来创建该接口的对象推导Lambda表达式/** 推导lambda表达式* */public class T原创 2021-03-12 10:09:25 · 131 阅读 · 0 评论 -
Java-12-多线程(静态代理模式)
Java-12-多线程(静态代理模式)要求:真实角色代理角色真实角色和代理角色要实现同一个接口代理角色要持有真实角色的引用。在Java中线程的设计就使用了静态代理设计模式,其中自定义线程类实现Runable接口,Thread类也实现了Runalbe接口,在创建子线程的时候,传入了自定义线程类的引用,再通过调用start()方法,调用自定义线程对象的run()方法。实现了线程的并发执行。设置静态代理模式public class StaticProxy { public sta原创 2021-03-12 10:04:01 · 232 阅读 · 0 评论 -
Java-12-多线程(线程创建)
Java-12-多线程(线程创建)普通方法调用和多线程普通方法调用只有主线程(main())一条执行道路,当其调用run()方法时,原来的事情被迫停止,等待run()执行完毕,而多线程则调用start()方法,让子线程执行run()方法,手上的事情不必停下来,多条线路并行执行线程创建继承Thread类实现Runnable接口实现Callalbe接口通过继承Thread类创建线程声名一个类继承Thread类重写run方法创建线程对象,调用start方法启动线程//创建线程方式1原创 2021-03-12 10:02:14 · 128 阅读 · 1 评论 -
Java-10-IO流
Java-10-IO流概述大多数应用程序都需要实现与设备之间的数据传输,在Java中,将这种通过不同输入输出设备(键盘,内存,显示器,网络等)之间的数据传输抽象的表述为“流”,输入流和输出流是相对于内存设备而言的,将外设中的数据读取到内存中即输入,将内存的数据写入到外设中即输出。四点明确明确指定操作的数据是数据源(读)还是数据目的(写)源:InputStream Reader目的:OutStream Writer明确要操作的设备上的数据是字节还是文本源原创 2021-03-12 09:59:08 · 101 阅读 · 0 评论 -
Java-09-集合
Java-09-集合集合类概述数组长度是固定,如果要改变数组的长度需要创建新的数组将旧数组里面的元素拷贝过去,使用起来不方便。java给开发者提供了一些集合类,能够存储任意长度的对象,长度可以随着元素的增加而增加,随着元素的减少而减少,使用起来方便一些。集合类的特点集合特定List有序,可重复Set无序,不可重复Queue队列(先进先出),可重复集合vs数组数组集合存储类型基本数据类型(值),引用数据类型(地址值)仅 引用原创 2021-03-12 09:56:57 · 90 阅读 · 0 评论 -
Java-08-常用类
Java常用类1 Object类是所有数据类型的超级父类Object类常用方法toString()/** * @Author Void * @Description //TODO 测试 toString() * @Date 19:13 2021/3/10 * Object 是 所有类的父类 **/public class TestObject { public static void main(String[] args) { /* *原创 2021-03-11 10:02:01 · 136 阅读 · 0 评论 -
Java-07-内部类
内部类在一个类的内部,再定义一个类(一般内外存在某种联系)成员内部类在类的内部定义,与实例变量,实例方法同级别的类外部类的一个实例部分,创建内部类对象时,必须依赖外部类对象public class Outer { private int id; public void out(){ System.out.println("这是外部类的方法"); } /* * 内部类也会生成class文件(Body$Arm.class文件)原创 2021-03-11 10:01:21 · 82 阅读 · 0 评论 -
Java-11-异常处理机制
Java 异常处理机制异常处理的五个关键字try,catch,finally,throw,throws1.抛出异常public class autoCapture { public static void main(String[] args) { int a = 1; int b = 0; //ctrl+alt+t new autoCapture().test(a,b); //如果不适用try catch 程原创 2021-03-05 14:52:05 · 209 阅读 · 2 评论 -
Java-06-抽象类和接口
Java抽象类/** * @Author Void * @Description //TODO 抽象类 * @Date 12:09 2021/3/5 * @Param * @return **///用abstract 关键字定义public abstract class A { //约束~让别人帮我实现 //abstract 方法 只有方法名没有方法的实现 //所有继承该类的子类,必须实现该类的抽象方法 public abstract void doso原创 2021-03-05 14:51:02 · 86 阅读 · 2 评论 -
Java-05-面向对象
Java面向对象以类的形式组织代码,以对象的形式封装数据类是抽象的,对象是具体的1.抽象-定义一个类public class Student { //属性 String name; int age; //方法 public void study(){ System.out.println(this.name+"studying");//this指代当前这个类 } }2.创建对象-实例化一个类可以有多个对象使用new原创 2021-03-05 14:42:41 · 83 阅读 · 0 评论 -
Java-04-数组
Java 数组定义一个数组数组长度是确定的,元素必须相同类型int[] numbers;//声名数组(未分配空间) ---推荐int numbers[];//也可以这么定义int[] numbers = {1,2,3};//定义+静态初始化int[] numbers = new int[10];//用new操作符规定创建数组并分配空间,动态初始化(默认都是0)//获取数组长度.length数组的使用//定义并创建数组int[] numbers = new int[10];//利用下标原创 2021-03-05 14:40:38 · 84 阅读 · 1 评论 -
Java-03-Scanner对象
Java Scanner对象用法Java给我们提供了Scanner工具类,来获取用户的输入Scanner scanner = new Scanner(System.in);String str = scanner.next();//orString str = scanner.nextLine();//获取整数其他类似int i = scanner.nextInt()scanner.close();//节省内存通过Scanner类的next()和nextLine()方法来获取输入的字符原创 2021-03-05 14:38:50 · 62 阅读 · 2 评论 -
Java-02-hello world
learn Java 02 hello world(一)java的第一个程序1.新建名为hello.java的文件public class hello{//创建hello 类 public static void main(String[] args){ //main方法 System.out.print("Hello World"); //输出hello world }}2.在该文件所在位置打开cmd编译hello.java,在dos(命令行)中输入以下命令javac hel原创 2021-03-05 14:35:29 · 78 阅读 · 0 评论 -
Java-01-背景和安装
learn Java 01 背景和安装java的三大版本JavaSE 标准版(桌面程序、控制台)JavsME 嵌入式开发(手机、家电)JavaEE 企业级开发( WEB、服务器开发 )JDK、JRE、JVMJDK:Java Development Kit——在JRE基础上添加了开发工具JRE:Java Runtime Environment——Java程序的运行环境(包含JVM)JVM:Java Virtual Machine ——Java虚拟机,屏蔽底层系统差异,保证了强的可移植原创 2021-03-03 14:19:06 · 89 阅读 · 0 评论