Java基础
yaya专注搞技术
这个作者很懒,什么都没留下…
展开
-
遍历map的四种方式
通过Map.ketSet遍历key和value通过Iterator迭代器遍历循环Map.entrySet().iterator通过Map.entrySet遍历key和value通过Map.value遍历所有value,但不能遍历keyimport java.util.HashMap;import java.util.Iterator;import java.util.Map;/** * * @author Allein * * @date 2021/10/2 19:39 *.原创 2021-10-19 23:02:10 · 162 阅读 · 0 评论 -
手写单例模式
单例设计模式:保证类在内存中只有一个对象。如何保证类在内存中只有一个对象呢?1、构造方法私有,在类的外部无法调用该类的构造方法2、类中声明该类的成员,必须是静态的3、提供静态方法将该成员输送到外部饿汉式(线程安全)/** * * @author Allein * * @date 2021/10/19 21:50 * 饿汉式 */public class Singleton1 { public static void main(String[] args){ .原创 2021-10-19 22:06:58 · 117 阅读 · 0 评论 -
手写ArrayList
import java.util.Arrays;/** * * @author Allein * * @date 2021/10/19 16:43 * */public class MyArrayList { private static final int CAPACITY_SIZE = 10;//集合初始容量 //属性 private int size;//大小,默认0 private Object[] elements;//元素 /原创 2021-10-19 21:45:39 · 119 阅读 · 0 评论 -
Java 四种访问修饰符的区别
Java中public、protected、friendly、private四种访问修饰符public(1)定义:public是公共的,被public所修饰的成员可以在任何类中都能被访问到。(2)修饰的成分:public能用来修饰类,在一个java源文件中只能有一个类被声明为 public,而且一旦有一个类为public,那这个java源文件的文件名就必须要和 这个被public所修饰的类的类名相同,否则编译不能通过。public用来修饰类中成员(变量和方法),被public原创 2021-05-31 15:41:04 · 493 阅读 · 0 评论 -
Java学习--关于集合Set、Map、List之间的关系
关于集合Set、Map、List之间的关系List:允许存放重复元素原创 2021-05-31 15:12:29 · 85 阅读 · 0 评论 -
Java中Math函数中floor、round、ceil三个函数
Math.floor 返回一个不大于它的最大整数eg:Math.floor(1.5) ==> 1Math.floor(1.6) ==> 1Math.round() 四舍五入,和数学一样eg:Math.round(11.5) ==> 12Math.round(-11.5) ==> -11Math.ceil 返回一个大于它的最小整数eg:Math.ceil(1.5) ==> 2Math.ceil(-1.5) ==> -1...原创 2021-05-31 15:02:27 · 178 阅读 · 0 评论 -
JDBC对数据库通用的更新和查询方法
通用的更新方法1、适用于删除、插入、更新操作2、conn连接数据库和closeResource关闭资源的方法参考CRUD增删改查方法/** * //通用更新方法 * @param conn * @param sql sql语句 * @param params Object... 可变参数 * @return */ public boolean update(Connection conn,String sql,Object原创 2021-05-11 14:32:30 · 671 阅读 · 0 评论 -
Reflect反射
Reflect反射反射:可以通过对象获取产生该对象的类的结构信息(属性,方法,构造方法,父类,接口,注解)获取类结构的四种方式//方式1:通过运行时类的对象,调用getClass方法Employee emp = new Employee();Class c1 = emp.getClass();System.out.println(c1);//方式2:调用运行时类的.class属性Class c2 = Employee.class;System.out.println(c2);//方式原创 2021-05-09 14:20:04 · 58 阅读 · 0 评论 -
基于JDBC对数据库员工表进行增删改查
创建员工实体类employee添加get、set、toString方法public class Employee { private int empid; private String empname; private String emppwd; private double salary; private Date birthdy; public int getEmpid() { return empid; }原创 2021-05-09 09:56:04 · 1668 阅读 · 0 评论 -
JDBC连接数据库的三种方式
JDBC程序的一般编写步骤1、导入数据库驱动包2、加载驱动3、获取连接4、执行SQL命令5、处理数据6、关闭资源JDBC连接数据库方式一public class ConnectionTest01 { public static void main(String[] args) throws Exception { Driver driver = new com.mysql.jdbc.Driver(); Properties prop = new Prope原创 2021-05-08 16:59:25 · 288 阅读 · 0 评论 -
使用synchronized同步实现生产者与消费者的生产与购买
使用synchronized同步实现生产者与消费者的生产与购买//商品类class Product{ String brand;//品牌 String name;//名称 boolean flag = false; public String getBrand() { return brand; } public void setBrand(String brand) { this.brand = brand;原创 2021-04-15 19:10:00 · 137 阅读 · 0 评论 -
使用synchronized同步实现窗口抢票
使用同步实现窗口抢票不使用同步的话可能会出现重票或负票的情况线程有可能和其他线程共享一些资源,比如,内存,文件,数据库等。当多个线程同时读写同一份共享资源的时候,可能会引起冲突。这时候,我们需要引入线程“同步”机制,即各位线程之间要有个先来后到,不能一窝蜂挤上去抢作一团。线程同步的真实意思和字面意思恰好相反。线程同步的真实意思,其实是“排队”:几个线程之间要排队,一个一个对共享资源进行操作,而不是同时进行操作。当多个线程要处理共享资源时,使用同步,但同步不应该过多使用,容易造成死锁原创 2021-04-15 19:04:06 · 395 阅读 · 1 评论 -
线程的生命周期
线程的生命周期新建,就绪,运行,阻塞,死亡 线程的生命周期包含5个阶段,包括:新建、就绪、运行、阻塞、销毁。**新建:**就是刚使用new方法,new出来的线程;**就绪:**就是调用的线程的start()方法后,这时候线程处于等待CPU分配资源阶段,谁先抢的CPU资源,谁开始执行;**运行:**当就绪的线程被调度并获得CPU资源时,便进入运行状态,run方法定义了线程的操作和功能;**阻塞:**在运行状态的时候,可能因为某些原因导致运行状态的线程变成了阻塞状态,比如sleep(原创 2021-04-15 18:54:59 · 92 阅读 · 0 评论 -
创建线程的三种方式以及实现窗口抢票功能
多线程1、创建线程之继承Thread类1、定义类继承Thread类2、重写run()方法3、调用自定义类的start()方法,启动线程1.1、继承Thread类实现窗口抢票的功能class SaleTicket extends Thread{ public SaleTicket(String name) { super(name); } //static 说明定义成了公共资源 static int ticketNum = 10; @Ov原创 2021-04-15 18:23:41 · 241 阅读 · 0 评论 -
基于网络编程实现文件的上传
基于网络编程实现文件的上传上传一张图片服务端1、创建本地文件夹对象,并判断该文件夹是否存在,不存在则创建File file = new File("E:\\****");if (!file.exists()){ file.mkdirs();}注:****为文件夹名称2、创建服务器套接字ServerSocket server = new ServerSocket(****);注:****为端口号,与客户端的端口号保存一致3、使用套接字对象调用accep()方法,监听端口是原创 2021-04-13 19:54:57 · 239 阅读 · 0 评论 -
基于TCP协议的网络编程
基于TCP协议的网络编程服务端1、定义服务端Socket对象,充当监听器功能,负责监听某个端口ServerSocket server = new ServerSocket(****);//括号中指定端口号,端口号范围为1~65535,1024以前的端口号一般被本机占用,经量不使用2、使用accept()方法获取网络套接字,当有数据发送到服务端,就会接收消息Socket socket = server.accept();3、从套接字对象中获取网络输入流对象InputStream is =原创 2021-04-13 16:55:47 · 314 阅读 · 0 评论