JavaSeNote
PeterWarne
这个作者很懒,什么都没留下…
展开
-
20220530_Java_方法递归
初始类 方法内调用方法自身 public class RecursionDemo1 { public static void main(String[] args) { System.out.println("sum:1***5"); System.out.println(recur(5)); System.out.println("sum:1+++5"); System.out.println(recur1(5)); }原创 2022-05-30 19:43:58 · 60 阅读 · 0 评论 -
20220530_Java单例模式案例_负载均衡器
本例是懒汉模式 负载均衡器类 import java.util.ArrayList; import java.util.Random; class LoadBalancer { /**这里权限不写,默认,就是包内访问*/ /**懒汉模式*/ private static LoadBalancer lbInstance = null; /**成员变量,不是静态变量*/ private ArrayList serverList = null; public LoadB原创 2022-05-30 19:38:17 · 128 阅读 · 0 评论 -
20220530_Java_工厂模式与装饰模式
@[toc]装饰模式 定义抽象父类 public abstract class InputStream { /** * 永远记住抽象类就是用来当父类的,不能创对象 */ public abstract int read(); public abstract int read(byte[] buffer); } 定义子类的原始输入流 import java.util.Arrays; public class FileInputStream extends Inp原创 2022-05-30 01:49:26 · 68 阅读 · 0 评论 -
20220530_Java_XML文件解析_xpath方法
dom4j和jaxen框架包自行搜索下载导入 所用xml文件 <?xml version="1.0" encoding="UTF-8" ?> <contactList> <contact id="1" vip="true"> <name> Joseph </name> <gender> male </gender> <email> joseph@heaven原创 2022-05-30 00:33:17 · 97 阅读 · 0 评论 -
20220530_Java_XML文件_dom4j解析方法
所用xml文件 <?xml version="1.0" encoding="UTF-8" ?> <contactList> <contact id="1" vip="true"> <name> Joseph </name> <gender> male </gender> <email> [email protected] </email>原创 2022-05-30 00:27:19 · 77 阅读 · 0 评论 -
20220529_XML文件规范_DTD和Schema文档约束格式
初始XML写法 <?xml version="1.0" encoding="UTF-8" ?> <!-- comment is this format, and it will be displayed by green --> <College> <Teacher> <name> 罗翔 </name> <gender> Female </gender> &原创 2022-05-29 18:09:36 · 97 阅读 · 0 评论 -
20220527_Java动态代理应用示例
接口类 public interface Users { String login(String loginName,int password); void deleteByID(int i); String query(); } 接口实现类 public class UserService implements Users{ @Override public String login(String loginName, int password) {原创 2022-05-27 18:58:34 · 54 阅读 · 0 评论 -
20220527_Java动态代理创建示例
接口类 public interface Runway { void catwalk(); void pose(); } 接口实现类 public class Model implements Runway{ private String name; public Model(String name) { this.name = name; } @Override public void catwalk() { S原创 2022-05-27 18:55:11 · 120 阅读 · 0 评论 -
20220527_Java自定义注解应用示例
自定义注解类 import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @Retention(RetentionPolicy.RUNTIME) public @interface MyUnit { boolean value() default true; } 执行体 import java.lang.reflect.InvocationTargetException; import j原创 2022-05-27 18:51:52 · 53 阅读 · 0 评论 -
20220527_Java注解Annotation的使用规则和注解的解析方法
本例使用的自定义注解类 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Target({ElementType.METHOD, ElementType.LOCAL_VARIABLE, ElementType.PARAM原创 2022-05-27 18:49:35 · 94 阅读 · 0 评论 -
20220527_Java_反射的用途两种
文章目录 一.给集合添加泛型以外的数据 import java.lang.reflect.Method; import java.util.ArrayList; import java.util.List; public class reflectUseDemo1 { public static void main(String[] args) throws Exception { //反射的作用一,给指定了泛型的集合加入其他类型的数据 List<String原创 2022-05-27 02:56:11 · 181 阅读 · 0 评论 -
20220527_Java_反射的各种方法
文章目录 用于反射的学生类 public class Student { private String name; private String gender; private int age; public static String school; public static final String nation = "NeverLand"; public Student() { System.out.println("No para原创 2022-05-27 02:50:15 · 49 阅读 · 0 评论 -
20220527_Junit测试框架基本用法
用于测试的对象类 public class UserService { public String logon (String name,String password){ if ("admin".equals(name) && "1234".equals(password)){ return "login succeed."; }else { return "Your login name or pas原创 2022-05-27 02:39:38 · 63 阅读 · 0 评论 -
20220525_Java_BS架构网页访问示例
文章目录 一.单线程 服务端线程类 import java.io.IOException; import java.io.PrintStream; import java.net.Socket; public class BSServerThread extends Thread{ private Socket soc; public BSServerThread(Socket soc) { this.soc = soc; } @Override原创 2022-05-25 22:23:30 · 280 阅读 · 0 评论 -
20220525_Java_TCP_线程池即时消息群发
服务端,包括Runnable类 import java.io.*; import java.net.ServerSocket; import java.net.Socket; import java.util.ArrayList; import java.util.List; import java.util.concurrent.*; public class GroupServerDemo1 { public static ExecutorService pool = new ThreadPo原创 2022-05-25 20:17:16 · 130 阅读 · 0 评论 -
20220525_Java_TCP_线程池多任务消息发送
服务端Runnable类 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.Socket; public class ServerRunnable implements Runnable{ private Socket soc; public ServerRunnab原创 2022-05-25 20:10:27 · 146 阅读 · 0 评论 -
20220525_Java_TCP_多线程消息发送
服务端线程类 import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.Socket; public class ServerThread extends Thread { private Socket soc; public ServerThread(Socket soc) { this.soc = soc;原创 2022-05-25 20:06:30 · 135 阅读 · 0 评论 -
20220525_Java_TCP_通信_单线程
@[TOC]一.一条消息示例 服务端 import java.io.*; import java.net.ServerSocket; import java.net.Socket; public class TcpServerDemo2 { public static void main(String[] args) { try { System.out.println("=====TCP Server Started=====");原创 2022-05-25 19:56:52 · 62 阅读 · 0 评论 -
Java_UDP_广播_组播_发送
广播发送端 public class udpBroadCastSourceDemo1 { public static void main(String[] args) throws Exception { System.out.println("====UDP Broadcast Client Started===="); DatagramSocket soc = new DatagramSocket();//发送端可以配端口,但多实例运行会java.net.Bin原创 2022-05-24 20:05:35 · 321 阅读 · 0 评论 -
Java_UDP_单播通信
发送端 public class UdpClientDemo1 { public static void main(String[] args) throws Exception { /** * Socket是对TCP/IP协议的封装,建立套接字连接至少需要一对,一个运行在客户端,一个运行在服务端 * 套接字之间的连接分三步,服务端监听,客户端请求,连接确立 * 数据包构造参数第三段是服务端,接受方的地址,因为这里就一台电脑,所以原创 2022-05-24 19:59:56 · 178 阅读 · 0 评论 -
Java_网络编程_InetAddress对象和方法
无说明 public class InetAddressDemo1 { public static void main(String[] args) throws Exception { /** * 一个InetAddress类的对象就代表了一个IP地址对象,我们发现这些这些对象都不是new出来的 * 1.获取本机地址对象 * 2,获取域名IP对象,网址IP * 3.获取公网IP对象 * 4.判原创 2022-05-24 19:59:35 · 297 阅读 · 0 评论 -
20220523_Java定时器创建方式两种
一. Timer tim = new Timer()方式 public class TimerDemo1 { public static void main(String[] args) { /** * 创建一个定时器Timer,Timer自己是一个单线程, Thread.currentThread().getName()打印出来会看到是Timer-0 * 调用Timer的方法schedule处理定时任务 * try_catch语原创 2022-05-23 20:00:51 · 150 阅读 · 0 评论 -
20220523_Java线程池创建方式三种
一. ExecutorService pool = new ThreadPoolExecutor方式 不拿返回值的方法 Runnable任务类代码 public class MyRun implements Runnable { @Override public void run() { for (int i = 0; i < 5; i++) { System.out.println(Thread.currentThread().getName(原创 2022-05-23 19:53:57 · 76 阅读 · 0 评论 -
20220522_线程间通信_酒库出入库案例
酒库类 没用lock()和unlock()方法,运行报异常,还是在出入库方法各自用sync关键字修饰 public class WineCellar { private String cellarName;//这个cellarName就是个意思 private double stock; public WineCellar() { } public WineCellar(String cellarName, double stock) { this原创 2022-05-22 22:04:35 · 59 阅读 · 0 评论 -
20220522_多线程同步锁的用法
一.同步代码块锁 账户类代码 锁在此 public class Account { private String accID; private double balance; public Account() { } public Account(String accID, double balance) { this.accID = accID; this.balance = balance; } public原创 2022-05-22 18:16:40 · 185 阅读 · 0 评论 -
20220522_线程安全问题示例_同时取钱
账户类 取钱方法在账户里,属于账户对象 public class Account { private String accID; private double balance; public Account() { } public Account(String accID, double balance) { this.accID = accID; this.balance = balance; } public原创 2022-05-22 00:13:14 · 90 阅读 · 0 评论 -
20220521_线程最常用的方法
线程类 public class MyThread extends Thread{ public MyThread() { } public MyThread (String name){ super(name); } @Override public void run() { for (int i = 1; i < 6; i++) { System.out.println(Thread.cu原创 2022-05-21 23:00:13 · 49 阅读 · 0 评论 -
20220520_多线程创建三种四个方式
创建一个子线程 public class multiThreadDemo1 { public static void main(String[] args) { myThread sub = new myThread(); sub.start(); for (int i = 0; i < 5; i++) { System.out.println("Main thread running~~~"); }原创 2022-05-21 16:22:28 · 42 阅读 · 0 评论 -
20220520_Commons_IO_框架功能示例
框架包到Commons_IO官网下载最新的 public class commonsIODemo1 { public static void main(String[] args) throws Exception { /**文件复制到文件*/ // IOUtils.copy(new FileInputStream("C:\\Users\\twx1157249\\Pictures\\Camera Roll\\荒野大镖客01.jpg"), //原创 2022-05-20 13:46:54 · 75 阅读 · 0 评论 -
20220520_打印字节流_打印字符流_Properties储存加载
打印字节流 public class printDemo1 { public static void main(String[] args) throws Exception { PrintStream pst = new PrintStream("CertExam\\src\\pstTest01.txt"); /** * this(false, new FileOutputStream(fileName)); * this内部如下原创 2022-05-20 13:43:58 · 97 阅读 · 0 评论 -
20220519_对象序列化
所用类 public class Student implements Serializable { private static final long serialVersionUID = 1; private String name; private String Gender; private int age; private transient int password; public Student() { } public St原创 2022-05-20 02:33:42 · 49 阅读 · 0 评论 -
20220519_转换流
txt内容略 转换输入流 public class InputStreamReaderDemo1 { public static void main(String[] args) { try (InputStream is = new FileInputStream("D:\\TxyUsual\\JetBrains\\20220519_TEST.txt"); /**原始必须是字节流,不能一上来用Reader新建一个FileReader,那样就没法指定字符集,也原创 2022-05-19 17:36:00 · 52 阅读 · 0 评论 -
20220519_缓冲字符流
txt内容 Line1: !@#$%^&*()-=[]\;'./,ABCD1234abcd Line2: !@#$%^&*()-=[]\;'./,ABCD1234abcd Line3: !@#$%^&*()-=[]\;'./,ABCD1234abcd Line4: !@#$%^&*()-=[]\;'./,ABCD1234abcd Line5: !@#$%^&*()-=[]\;'./,ABCD1234abcd Line6: !@#$%^&*()-=[]原创 2022-05-19 17:35:40 · 80 阅读 · 0 评论 -
20220518_字符流的读取,一个字符一个字符读
public class FileReaderDemo1 { public static void main(String[] args) throws Exception { Reader in = new FileReader("CertExam\\src\\dataTest.txt"); int code; /** * in.read()既然只读一个字符,所以返回的就是字节码,可以用int变量接,char(这个int)就得到原字原创 2022-05-19 17:35:09 · 112 阅读 · 0 评论 -
20220518_字符流的读取,用字符数组char[]
public class FileReaderDemo2 { public static void main(String[] args) throws Exception { Reader in = new FileReader("CertExam\\src\\dataTest.txt"); char[] chs = new char[7]; //7 chars int num; /** * in.read(cha原创 2022-05-19 17:34:31 · 222 阅读 · 0 评论 -
20220518_字符流的输出_append_true
public class FileWriterDemo3 { public static void main(String[] args) throws IOException { Writer out = new FileWriter("CertExam\\src\\dataTest.txt",true); out.write(97); out.write("A"); out.write("@"); out.write原创 2022-05-19 17:33:37 · 110 阅读 · 0 评论 -
20220518_缓冲流加字节数组复制文档案例_apped_true
public class ByteBufferDemo1 { public static void main(String[] args) { try (InputStream in = new FileInputStream("CertExam\\src\\dataTest1.txt"); InputStream bin = new BufferedInputStream(in); OutputStream ou = new File原创 2022-05-19 17:32:54 · 63 阅读 · 0 评论 -
20220518_原始字节流与缓冲字节流,单字节,字节数组,四种组合复制1G大文件耗时案例
public class ByteBufferTimeUsageDemo2 { private static final String SRC_FILE = "D:\\TXYdownload\\install app\\ensp\\eNSP&CRT\\CE.img"; private static final String DEST_FILE = "D:\\TXYdownload\\install app\\ensp"; public static void main(Str原创 2022-05-19 17:32:18 · 121 阅读 · 0 评论 -
IO_Try_Catch_20220517
IO流的使用方法 public class StreamDemo1 { public static void main(String[] args) { try { OutputStream os1 = new FileOutputStream("CertExam/src/dataTest.txt"); InputStream in1 = new FileInputStream("CertExam/src/dataTest.txt")原创 2022-05-19 17:31:35 · 128 阅读 · 0 评论 -
CINEMA_20220516
无目录 执行体 package com.gable.Run; import com.gable.Bean.Customer; import com.gable.Bean.Merchant; import com.gable.Bean.Movie; import com.gable.Bean.User; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.math.BigDecimal; import java.text原创 2022-05-19 17:30:47 · 119 阅读 · 0 评论