锦到说Java
文章平均质量分 81
高开低走。
这个作者很懒,什么都没留下…
展开
-
JVM快速入门
JVM快速入门原创 2022-10-18 17:07:44 · 505 阅读 · 0 评论 -
设计模式入门
设计模式入门原创 2022-09-23 23:02:17 · 498 阅读 · 0 评论 -
Java多线程学习入门(六):锁升级、锁消除、锁粗化
Java多线程学习入门(六):锁升级、锁消除、锁粗化原创 2022-09-18 10:58:45 · 655 阅读 · 0 评论 -
Java多线程学习入门(五):ThreadLocal以及对象内存布局
Java多线程学习入门原创 2022-09-15 14:16:14 · 394 阅读 · 0 评论 -
Java多线程学习入门(四):Java内存模型、Volatile、CAS
Java内存模型、Volatile、CAS原创 2022-09-13 10:53:25 · 320 阅读 · 0 评论 -
Java线程学习入门(三):公平锁、可重入锁、死锁、AQS组件、读写锁
公平锁、可重入锁、死锁、AQS组件、读写锁原创 2022-09-11 21:43:09 · 271 阅读 · 0 评论 -
Java多线程学习入门(二):Lock接口,线程间通信、线程不安全的容器
Lock接口,线程间通信、线程不安全的容器原创 2022-09-11 21:42:11 · 277 阅读 · 0 评论 -
Java多线程学习入门(一):线程创建、线程状态
线程创建、线程状态原创 2022-09-08 11:13:36 · 404 阅读 · 0 评论 -
JDBC(四):简易部门管理系统的实现
package Dept_Management;import java.sql.*;import java.util.Scanner;public class TestMain { public static void main(String[] args) { Scanner s = new Scanner(System.in); int flag = 0; String sql1 = "insert into dept(deptno,dn原创 2021-06-23 20:36:38 · 245 阅读 · 0 评论 -
JDBC(二)用户登录业务介绍、配置idea
通过反射机制完成注册观察源码,可以看出已经写了注册的方法,所以通过反射拿到class文件package JDBCTEST;import java.sql.*;public class JDBCTest04 { public static void main(String[] args) { Connection connection = null; try { Class.forName("com.mysql.cj.jdbc.D原创 2021-04-01 10:32:43 · 222 阅读 · 0 评论 -
JDBC(三):用JDBC实现增删改/JDBC事务/悲观锁
用JDBC实现增删改增:核心代码 String sql = "insert into dept(deptno,dname,loc)values(?,?,?)"; preparedStatement = connection.prepareStatement(sql); //写Sql语句 preparedStatement.setInt(1, 50); preparedStatement.setString(2原创 2021-04-01 10:32:17 · 169 阅读 · 0 评论 -
JDBC(一)JDBC编程六步
开始时间:2021-03-25JDBC(Java Database Connectivity)Java语言连接数据库本质是一套接口面向接口调用、面向接口写实现类,这都属于面向接口编程。实现接口编程是为了解耦合,可参考复习多态就是很典型的面向抽象编程程序员面向JDBC写代码,JDBC提供接口,多方数据库厂家编写JDBC接口(数据库驱动,一个jar包)。jar包中有很多class文件,class就是对JDBC实现的接口例如:编写一个程序员类public class JavaProgramm原创 2021-04-01 10:29:56 · 179 阅读 · 0 评论 -
JavaSE进阶675-685 注解
注解自定义注解package BUPT20210222;public @interface MyAnnotation {}[修饰符列表] @interface 注解类型名Override注解属于标志性注解,给编译器做参考package BUPT20210222;public class AnnotationTest { //@Override就是自带的一种注解 //起到的作用是监督重写的方法是否是父类的方法 //如果不是就会报错, //属于标志性原创 2021-02-23 10:34:24 · 165 阅读 · 2 评论 -
JavaSE进阶668-674 反射(二) 反射机制调用方法
可变长度参数Python中有类似的用法参考:Python提高篇第四回以及博客通过数据类型…args的形式来传参,注意一定要是三个点package BUPT20210218;public class LengthTest { public static void main(String[] args) { m(); m("ww"); m("a", "v"); } private static void m(String..原创 2021-02-22 09:58:38 · 335 阅读 · 0 评论 -
JavaSE进阶650-667 反射(一) forName/访问属性
反射机制反射机制有什么用?通过java语言中的反射机制可以操作字节码文件。优点类似于黑客-(可以读和修改字节码文件-)通过反射机制可以操作代码片段-(class文件-)反射机制的相类在哪个包下?java . lang . reflect.*;反射机制相关的重要的类有哪些?java.lang.class:代表整个字节码,代表一个类型java. lang.reflect.Method:代表字节码中的方法字节码。java.lang.reflect.Constructor:代表字节码中的构造方法字原创 2021-02-19 21:36:57 · 220 阅读 · 0 评论 -
JavaSE进阶638-649 线程(三) 锁/守护线程/生产者消费者
死锁synchronized在开发中最好不要嵌套使用A把B锁住,B把A锁住,互相等待对方相应,所以程序一直执行不下去package deadlock;public class DeadLockTest01 { public static void main(String[] args) { Object O1 = new Object(); Object O2 = new Object(); Thread thread = new MyThr原创 2021-02-09 14:41:01 · 143 阅读 · 0 评论 -
JavaSE进阶621-637 线程(二) 线程安全
线程安全关于多线程并发环境下,数据的安全问题。为什么这个是重点?以后在开发中,我们的项目都是运行在服务器当中,而服务器已经将线程的定义,线程对象的创建,线程的启动等,都已经实现完了。这些代码我们都不需要编马.最重要的是:你要知道,你编写的程序需要放到一个多线程的环境下运行,你更需要关注的是这些数据在多线程并发的环境下是否是安全的。什么时候数据在多线程并发的环境下会存在安全问题呢?个条件:条件1:多线程并发。条件2:有共享数据。条件3:共享薮据有修改的行为。满足以上3个条件之后,就会存原创 2021-01-10 16:45:05 · 147 阅读 · 0 评论 -
JavaSE进阶598-620 多线程(一) 线程/进程/线程方法
开始时间:2021-01-05进程和线程4.1、什么是进程?什么是线程?进程是一个应用程序(1个进程是一个软件) .线程是一个进程中的执行场景/执行单元-一个进程可以启动多个线程。4.2、对于java程序来说,当在Dos命令窗口中输入;java Helloworld回车之后-会先启动JVM,而JVM就是一个进程。JVM再启动一个主线程调用main方法。同时再启动一个垃圾回收线程负责看护,回收垃圾。最起码,现在的java程序中至少有两个线程并发,一个是垃圾回收线程,一个是执行main方法的主原创 2021-01-07 18:36:37 · 131 阅读 · 0 评论 -
JavaSE进阶590-597 序列化和反序列化/IO和Properties联合
开始时间:2021-01-05对象的序列化和反序列化将Java对象放在硬盘的操作->序列化(拆分对象) serialize传的时候是一个数据包一个数据包的传,传的每个部分都有编号(应该用的是计算机网络的知识)恢复的过程称为反序列化(组装对象)deserialize这里插播一条消息IntelliJ IDEA 对齐代码的快捷键是 Alt+Ctrl+L但是我这两天用的时候发现没有作用了查询了才知道是我最近下载了网易云音乐,需要在网易云音乐里把这个冲突的快捷键关掉。...原创 2021-01-05 15:24:20 · 396 阅读 · 0 评论 -
JavaSE进阶582-589 IO流(二)File类/目录拷贝
开始时间 2020-12-01DataInputStream、DataOutputStreampackage BUPT20201130;import java.io.*;/*Java.IO.DataOutputStream可以将数据连同数据的类型一并写入文件写入的文件只能用DataInputStream去读并且必须要知道提前写的顺序 */public class DataInputStreamTest01 { public static void main(String[]原创 2021-01-03 11:28:38 · 217 阅读 · 0 评论 -
JavaSE进阶561-581 IO流(一)流的四大家族
开始时间2020-11-22IO流1.Io流,什么是Io?I: Inputo : output通过Io可以完成硬盘文件的读和写。2.Io流的分类?按照流的方向进行分类:以内存作为参照物,往内存中去,叫做输入(Input)。或者叫做读(Read) .从内存中出来,叫做输出(output)。或者叫做写(write).另一种方式是按照读取数据方式不同进行分类:有的流是按照字节的方式读取数据,一次读取1个字节byte,等同于一次读取8个二进制这种流是万能的,什么类型的文件都可以读取。包括:文本文原创 2020-11-30 22:59:58 · 216 阅读 · 0 评论 -
JavaSE进阶557-560 集合类复习回顾
开始时间 2020-11-22集合复习1、集合这块最主要掌握什么内容?1.1、每个集合对象的创建( new)1.2、向集合中添加元紊 add/put1.3、从集合中取出某个元紊 迭代器/get1.4、遍历集合1.5、主要的集合指:ArrayListLinkedListHashsetTreesetHashMapPropertiesreeMap遍历方法1.foreach2.迭代器3.下标方式(不是所有都能用)Map集合遍历:1.先获取所有的Key,遍历Key,通过key原创 2020-11-22 11:00:28 · 146 阅读 · 0 评论 -
JavaSE进阶548-556 HashMap HashTable TreeSet 二叉树
开始时间:2020-11-21HashMap和HashTable的区别package BUPT20201121;import java.util.HashMap;import java.util.Hashtable;import java.util.Map;public class HashMapTest03 { public static void main(String[] args) { //都不指定泛型时,HashMap可以传空指针进去,而HashTable不原创 2020-11-22 11:00:24 · 251 阅读 · 2 评论 -
JavaSE进阶535-547HashSet Map HashTable HashCode
开始时间2020-11-18HashSet无序package BUPT20201118;import java.util.HashSet;import java.util.Set;public class HashSetTest { public static void main(String[] args) { Set<String> stringSet = new HashSet<>(); stringSet.add("he原创 2020-11-21 15:15:28 · 106 阅读 · 0 评论 -
JavaSe进阶517-534 泛型机制 ArrayList/LinkedList/List
开始时间2020-11-15集合中元素的删除package ExceptionTest;import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;public class ExceptionTest06 { public static void main(String[] args) { Collection c = new ArrayList();原创 2020-11-18 08:04:01 · 166 阅读 · 0 评论 -
JavaSe进阶501-516 几种常见的集合 Collection/Contains
集合集合实质也是一个容器,一次可容纳多个对象原创 2020-11-14 18:15:30 · 280 阅读 · 2 评论 -
JavaSE进阶:490-500 finally/finalize/final区别和异常类作业
finally子句的使用package ExceptionTest;import java.io.FileInputStream;import java.io.FileNotFoundException;/*try-catch中,哪怕有异常finally子句中的代码是最后执行的,也一定会执行 */public class ExceptionTest03 { public static void main(String[] args) { try {原创 2020-11-13 18:53:40 · 179 阅读 · 0 评论 -
JavaSE进阶:472-489异常
开始时间2020-11-09异常巧了,异常的try,Python也有:https://blog.csdn.net/qq_43568982/article/details/105207222package BUPT20201109;public class exceptionTest { public static void main(String[] args) { //异常类可以创建异常对象,异常在Java中以类的形式存在 NumberFormatExc原创 2020-11-10 23:03:33 · 861 阅读 · 0 评论 -
JavaSE进阶:460-471 Date对象 数字格式 枚举
对日期的处理返回当前日期参考Python中的时间处理https://blog.csdn.net/qq_43568982/article/details/105135381?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-8.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogComme原创 2020-11-09 23:10:36 · 178 阅读 · 0 评论 -
JavaSE进阶:432-459 String类方法/StringBuilder/StringBuffer/包装类
String类的常用方法charAtpackage BUPT20201108;public class StringTest03 { public static void main(String[] args) { char c="程序员".charAt(2); System.out.println(c); }}输出为 员String.compareTo类似以C语言中的Strcmppackage BUPT20201108;public原创 2020-11-09 08:47:10 · 267 阅读 · 0 评论 -
JavaSE进阶:417-431排序算法和String类
ArrayTestpackage BUPT;import java.util.Arrays;public class ArraysTest { public static void main(String[] args) { int[] arr = {2, 3, 32, 4, 5, 322}; Arrays.sort(arr); //封装好的排序方法,和Python类似 for (int i = 0; i < arr.l原创 2020-11-08 09:35:00 · 185 阅读 · 0 评论 -
JavaSE进阶399-416二维数组和酒店管理系统习题
二维数组区分一下a.length和a[2].lengthpackage BUPT.Test;//二维数组可以看成特殊的一维数组//数组中每一个元素都是一个一维数组//每个一维数组容纳的元素数量可以不同public class ArrayTest02 { public static void main(String[] args) { int[][] a = {{1, 2, 3}, {4, 5, 6}, {7, 6, 5, 4}}; System.out原创 2020-11-06 00:14:17 · 177 阅读 · 0 评论 -
JavaSE进阶384-398 一维数组
数组数组对象是在堆内存中数组本身是引用类型可以存基本数据类型,也可以存引用数据类型,有点类似Python中的列表数组存的是这些东西的地址Python列表但一旦确定了数组的数据类型,只能装同一类型的元素,这个和列表不同,这样的话算内存空间就好算了,因为每个数组元素占的空间都一样数组一旦创建,长度不可变所有数组对象都有length方法,可以求得数组中元素个数。数组中元素的内存地址存着是物理连续的以第一个内存地址作为整个数组的地址 public static void main(St原创 2020-11-04 08:41:25 · 164 阅读 · 0 评论 -
JavaSE进阶358-383包机制/Object方法/内部类
package和import机制package 包机制,方便程序的管理不同功能的类分别存放在不同的包下按照不同功能划分在IDEA中新建package后再调用类,夸包调用import一下就好package BUPT.Homework.day20201029;import IndiaCook.indiacook;public class Testmain { public static void main(String[] args) { //创建厨师对象原创 2020-11-02 08:57:38 · 220 阅读 · 0 评论 -
JavaSE进阶:332-357抽象类和接口
抽象类抽象类就没办法实例化对象了抽象类和抽象类还可以往上抽象抽象类也属于引用数据类型[修饰符列表] abstract class 类名{类体;}抽象类是用于子类来继承的,子类可以实例化abstract 和 final不能同时出现,同时联用就报错,两个关键字是对立的无参构造自带super,调用父类无参;但如果给了有参构造,无参就没办法继承了至于什么时候申明abstract,以后再做分析...原创 2020-10-29 08:51:54 · 261 阅读 · 0 评论 -
JavaSE进阶318-331 构造方法习题
配置IDEA可以去官网下载选择Ultimate版本也可以跟着VPOSY公众号里面走https://mp.weixin.qq.com/s/k-U6ajRZ8BLFlSmGoEwSFA安装跟着步骤走进行我自己找了一个破解过程https://tech.souyunku.com/?p=30970安装完成后配置一下背景,字体什么的,界面和Pycharm几乎一模一样,毕竟一个公司出品的。快速生成main方法:PSVM快速System.out.print.ln():soutctry+y:删除一行原创 2020-11-05 23:32:25 · 174 阅读 · 0 评论 -
Java零基础学习151-159多态和Final关键字
课程链接:https://www.bilibili.com/video/BV1Rx411876f多态父类型的引用子类型对象package test001;public class Animal { public void move() { System.out.println("动物在移动"); }}package test001;public class Cat extends Animal { public void move() { System.out.print原创 2020-10-20 12:05:26 · 125 阅读 · 0 评论 -
Java零基础学习145-150 static关键字/方法重写/继承
static首先看以下代码package chinese;public class Chinese { String id; String name; String country; public Chinese() { } public Chinese(String id, String name, String country) { this.id = id; this.name = name; this.country = country; }}pa原创 2020-10-19 14:48:09 · 123 阅读 · 0 评论 -
Java零基础学习131-144构造方法和This关键字
构造方法[修饰符列表] 构造方法名(形式参数列表){构造方法体;}普通方法(函数)的语法结构[修饰符列表] 返回值类型 方法名(形式){方法体}构造方法不需要写返回值类型原创 2020-10-19 14:48:24 · 168 阅读 · 0 评论 -
Java零基础学习108-130对象和类
面向对象三大特征:封装、继承、多态面向对象的分析:OOA面向对象的设计:OOD面向对象的编程:OOP类:属性 :描述对象的状态信息方法:描述对象的动作信息原创 2020-10-19 14:48:38 · 97 阅读 · 0 评论