07 2022 档案
摘要:元注解 元注解的作用就是负责注解其他注解Java 定义了4 个标准的meta-annotation 类型, 他们被用来提供对其他annotation 类型作说明 这些类型和它们所支持的类在java.lang .annotation 包中可以找到. ( @Target , @Retention @Do
阅读全文
摘要:动态语言: 是一类在运行时可以改变其结构构的语言· 例如新的函数、对象、甚至代码可以被 引进, 已有的函数可以被删除或是其他结构上的变化。通俗点说就是在运行时代 码可以根据某些条件改变自身结构。 主要动态语言: Object-C 、C# 、JavaScript 、PHP 、python 等。 静态语
阅读全文
摘要:@Ove rri d e 定义iava.lan .Override 中此注释只适用于修辞万法《表示一个方法声明打算 重写超类中的另一个方氵去声明. @Deprecated : 定义在java langDeprecated 中此注释可以用于修辞方法, 属性, 类表示不鼓励程序员使用这样的元素, 通常是
阅读全文
摘要:Annotation JDK5.0 始引入的新技术 0 An n otationxe 0 An n otation 的作用 1、不是程序本身, 可以对程序作出解释. ( 这一点和注释( comment ) 没什么区别) 2、可以被其他程序比如:编译器等,读取 Annotation 的格式: 注解是以
阅读全文
摘要:线程状态5状态 新建 new 就绪 start() 运行 cpu调度 阻塞 blocked 停止 stop package com.testthread1; /** * 1、建议线程正常停止,利用次数,不建议死循环; * 2、建议设置标志位, * 3、不用使用stop或destroy,或jdk不建议
阅读全文
摘要:package com.syn; public class TestPc2 { public static void main(String[] args) { Tv tv = new Tv(); new Player(tv).start(); new Watcher(tv).start(); }
阅读全文
摘要:1、lock是显示锁,手动开启和关闭,synchronized是隐式锁,出了作用域自动释放。 2、lock只有代码块锁,synchronized有代码锁和方法锁 3、使用lock锁,jvm将花费较少的时间来调度线程,性能更好,并且具有更好的扩展性,提供更多的子类。 4、优先使用顺序:lock》同步代
阅读全文
摘要:package com.syn; public class TestPc { public static void main(String[] args) { SynContainer container = new SynContainer(); new Productor(container).
阅读全文
摘要:线程同步机制 1、同一个进程的多个线程共享同一块存储空间,带来了方便,也有冲突,为了保证数据在方法中被访问的正确性,在访问时加锁机制,synchronized,当一个线程获得对象的排他锁,独占资源,其他线程必须等待使用后释放; 问题: 1、一个线程持有锁,会导致其他的需要此锁的线程挂起; 2、多线程
阅读全文
摘要:同样的jar包使用beanshell Sampler可以测试,使用JSR223 Sampler报错 Java方法导出jar包,使用测试计划添加,或放入lib包,或ext包下 public class Aal { public int add(int a,int b){ return a+b; } }
阅读全文
摘要:13、守护线程 daemon 1、线程分为守护线程,用户线程 2、虚拟机必须确保用户线程执行完成 3、虚拟机不用等守护线程执行完成 package com.testthread1; import org.w3c.dom.ls.LSOutput; import java.security.spec.R
阅读全文
摘要:12、线程优先级 priority package com.testthread1; /** * 1、currentThread()方法返回正在被执行的线程的信息 * */ public class TestPrioriy { public static void main(String[] arg
阅读全文
摘要:11、线程状态 package com.testthread1; public class TestThread { public static void main(String[] args) { //线程使用lambda表达式 Thread thread = new Thread(()->{ f
阅读全文
摘要:10、线程强制执行jion package com.testthread1; public class TestJion implements Runnable{ @Override public void run() { for (int i = 0; i < 100; i++) { System
阅读全文
摘要:线程礼让: 1、让正在执行的线程为暂停,但不阻塞; 2、让状态转为就绪 3、让cpu重写调度,礼让不一定成功; Thread.currentThread()获取当前线程的引用 package com.testthread1; import org.w3c.dom.ls.LSOutput; publi
阅读全文
摘要:8、线程休眠 每个对象都有一把锁,sleep不会释放锁; package com.testthread1; public class TestThread3 implements Runnable{ private int ticketNums = 10 ; @Override public voi
阅读全文
摘要:lamda表达式: 1、避免匿名内部类过多 2、让代码简洁 3、去掉没有意义的代码,保留核心逻辑 函数式接口:只包含一个抽象方法,被成为函数式接口 package com.com.test; import jdk.dynalink.beans.StaticClass; /** * 推导lambda表
阅读全文
摘要:5、静态代理模式 /** * 1、真实对象和代理对象实现同一个接口; * 2、代理对象,代理真实角色; */public class StaticProxy { public static void main(String[] args) { //真实结婚对象 Person person = new
阅读全文
摘要:线程不安全 public class TestThread3 implements Runnable{ private int ticketNums = 10 ; @Override public void run() { while (true){ if (ticketNums==0){ brea
阅读全文
摘要:UDP是面向无连接的,对于服务器和客户端来说只有一个socket,只需要确定目的IP和Port(dst ip 和dsp port),把数据都发送给这一个socket,所以采用二元组就可以确定一个socket; TCP是面向连接的,对于服务器和客户端来说可能会建立了多个socket,需要源ip和por
阅读全文
摘要:实现runnable接口 import org.apache.commons.io.FileUtils; import java.io.File; import java.io.IOException; import java.net.URL; public class TestThread2 im
阅读全文
摘要:数组:最简单的数据结构; 数组:相同数据类型的有序集合, 特点: 1、长度确定,一旦被创建大小不可改变; 2、元素类型相同; 3、数组类型可以时任意类型,包括基本数据类型和引用数据类型; 4、数组变量属于引用数据类型,数组也属于对象;存放在堆中; 声明: 1、type[] arr_name 2、ty
阅读全文
摘要:为什么需要方法重载?如果“方法1”和“方法2”的功能相似, 那么可以考虑把它们的方法名一致。这样的代码既美观,用方便后期的代码编写(容易记忆,方便使用)。 一个类中方法的名称相同,但是形参不同。方法名相同,编译器根据方法的参数个数,参数的类型去匹配,以选择对应的方法,如果匹配失败,则报错。 方法重载
阅读全文
摘要:Java的基本结构,除非特别指明,否则顺序执行; 1、顺序结构 2、选择结构 3、循环结构 if 选择结构的语法 if(bloolean){ //结果为true,执行语句; } 1、一个if语句中,最多有一个else语句,在所有的if else语句最后; 2、if语句中可以有若干个else if;
阅读全文
摘要:变量:Java程序中基础的存储单元,其要素包含变量名,变量类型,作用域; 注意: 1、每个变量名,都必须有类型,可以是基础类型或引用类型。 2、变量名,必须是合法的标识符。 3、变量名,声明是一条完整的语句,因此每一个声明都必须,以分号结束。 作用域: 类变量:static 修饰,类中 实例变量:无
阅读全文
摘要:scanner类,获取用户的键盘输入,进行人机交互 System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。该类位于java.lang包。由于该类的构造方法是private的,所以无法创建该类的对象,也就是无法实例化该类。其内部的成员变量和成员方法都是static的,所以也可以很方便的
阅读全文
摘要:包机制:为了更好的组织类,Java提供了机制,用于区别类名和命名空间。 包的命名规则: 1、通常是类的第一句非注释,package开头 后面是路径; 2、包名:利用公司域名倒着写,在加模块名,作为包名; java常用包 说明 Java.lang 包含一些java语言的核心类,String,Math,
阅读全文
摘要:变量或常量,通过运算符组合起来,符合Java的语法格式,成为表达式 算数运算符:+ ,- ,*, /, %, ++, -- / :除法运算; % :取模运算,两个数字相除取余数; ++ :自增 变量的值加1; -- :自减 变量的值减1; 赋值运算符:=,+=, -=,*=,*=,/=,%=,<<=
阅读全文
摘要:java基础_数据类型转换 由低到高 byte》short》char》int》long》float》double 运算中不同的数据类型,先转为同一类型,再进行运算 1、强制类型转换,由高到低 int i = 128; byte b = (byte)i;强制转换为byte类型,转换后会内存溢出。 2、
阅读全文
摘要:数据类型 强类型语言:要求变量的使用要严格,符合规定,所有的变量都必须先定义再使用。 弱类型语言:JavaScript 01、基础数据类型:primitive type 02、引用数据类型:reference type 基础数据类型:只有8个,其他的都是引用数据类型。 一、数值类型: 1、整数类型:
阅读全文
摘要:程序:指令和数据的有序集合,静态概念; 进程:操作系统分配资源的最小单元,程序的实例,程序执行的动态概念; 线程:CPU调度的最小单元,一个进程中至少有一个线程; main()方法是主线程的入口,用来执行整个程序; 多线程的调度,由调度器完成,调度器与操作系统紧密相关,先后顺序不能人为干预; 对同一
阅读全文
摘要:3、UDP聊天实现 System.in返回的是InputStream指向命令行输入的字节流,它的read方法以字节流的方式来读取命令行的输入的数据。 import java.io.BufferedReader; import java.io.InputStreamReader; import jav
阅读全文
摘要:UDP通信,接收方 import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;public class UdpClient2 { public static void main(S
阅读全文
摘要:TCP通信,Java提供了2个类用来实现tcp通信程序: 1、java.net.Socket 创建Socket对象,用来建立和服务器的连接,发送请求,接收响应; 2、java.net.ServerSocket,创建ServerSocket对象,启动tcp服务程序; 1、客户端和服务器建立一条逻辑连接
阅读全文