- 博客(42)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 阿里云 WindowsServer 使用之 配置 SQL Server 允许远程连接
这是一个很详细的部署教程,可以参考一下。实现了SQLServer的远程访问。
2024-01-09 21:32:23
1934
1
原创 Java 日志
日志门面:提供统一的日志输出接口,SLF4j、JCL。日志实现:具体实现日志输出的代码,JUL、log4j、log4j2、logback。使用 日志门面+日志实现框架 的方式,是为了:低耦合,日志的实现与业务代码通过 日志门面连接,在后续修改日志实现时,无需更改业务代码。这是 门面设计模式(外观设计模式)的典型应用。推荐使用 SLF4j + logback 的方式去做 Java 的日志输出
2023-02-28 22:54:08
495
1
原创 Java 网络编程 Ⅰ
HTTP:超文本传输协议,是现在广为流行的 WEB 网络的基础。ICMP:网络控制消息协议,是 TCP/IP 的核心协议之一,用于在 IP 网络中发送控制消息,提供通信过程中的各种问题反馈。TCP:传输控制协议,是一种面向连接的,可靠的,基于字节流传输的通信协议。UDP:用户数据报协议,是一个面向数据报的传输层协议,是不可靠的。
2023-02-22 22:00:46
498
1
原创 Windows 系统中 CMD 工具常用命令
Java 现阶段开发必备的工具有 JDK、Maven、Node.js(npm)、Git、MySql。相应的,一些常用命令可以加快我们的开发流程。安装的工具添加了 Path 环境变量后,可以直接在 CMD 命令行中使用工具自带的命令。而命令的成功执行,标志着工具安装成功。直接使用 命令行 操作数据库,深受大佬们的喜爱。
2023-01-15 18:05:38
929
原创 JDK 动态代理 和 CGLib 动态代理
动态代理就是:在程序运行期,创建目标对象的代理对象,并对目标对象中的方法进行功能性增强的一种技术。在生成代理对象的过程中,目标对象不变,代理对象中的方法是目标对象方法的增强方法。可以理解为运行期间,对象中方法的动态拦截,在拦截方法的前后执行功能操作。特点:方法修改基本无影响:方法增强与原先的功能分开,与方法名称无关、动态代理工厂的数量小于静态代理类数量、代理工厂创建的代理类一般不保存,不占用内存。JDK 动态代理只能对接口进行代理,而CGLib 动态代理能够代理接口和普通的类。
2022-12-10 23:20:22
317
原创 Java 反射机制
在程序运行时,获取类的完整结构信息,调用类对象的方法。正射:使用某个类,都会知道这个类,以及要用它来做什么,可以直接通过 new 实例化创建对象,然后使用这个对象对类进行操作。反射:一开始并不知道要初始化的是什么类,无法使用 new 来实例化创建对象,在运行时才知道要操作的是什么类,然后通过 JDK 提供的反射 API 来初始化对象,同样可以获取到类的完整构造以及调用对应的方法。
2022-12-04 17:40:45
290
原创 Java 的锁 -- 具体的锁对象及其实现原理
锁机制:用来保证在多线程并发情况下数据的一致性。锁的作用点:操作一个对象或者调用一个方法前加锁,这样当其他线程也对该对象和方法进行访问时就需要获得锁,如果该锁被其他线程持有,那么该线程则进入阻塞队列等待获得锁。Java 中,用作锁的对象有:synchronized、ReentrantLock、ReadWriteLock、volatile。synchronized:同步锁。ReentrantLock:可重入锁。ReadWriteLock:读写锁。
2022-11-28 00:31:54
2540
1
原创 Java 线程 -- 线程池
提高效率、减少系统资源的浪费、提高系统响应速度。Executor是线程池的顶层接口,将任务的提交与任务的执行分离开来。ThreadPoolExecutor类是线程池的核心实现类,用来执行被提交的任务。Executors 类(并发包)提供了 6 种创建线程池方法,都是通过配置ThreadPoolExecutor的不同参数,来达到不同的线程管理效果。submit() 方法、execute() 方法 和 schedule() 方法。
2022-11-25 23:11:36
160
原创 Java 线程 -- 线程的创建、状态、方法和数据共享问题
多线程机制,目的就是为了提高程序的处理效率。一个进程可以有很多线程,每条线程并行执行不同的任务。同一个进程内的线程共享该进程的全部系统资源,使用同一个堆内存和方法区内存。每一个线程有一个独立的栈空间,互不干扰。新建线程类 Thread、Runnable、Callable。线程的状态:新建状态、就绪状态、运行状态、阻塞状态、死亡状态。线程安全:线程安全的对象被多个线程调用时,都等获得正确的结果。如何实现线程安全:对共享数据对象的更改方法或代码块加锁。
2022-11-19 19:38:53
136
原创 Java 的锁 -- 锁的分类、设计与优化
在当线程操作数据时,数据是一致的(没有其他线程操作该数据)。锁机制:用来保证 在多线程并发情况下数据的一致性。锁的作用点:操作一个对象或者调用一个方法前加锁,这样当其他线程也对该对象和方法进行访问时就需要获得锁,如果该锁被其他线程持有,那么该线程则进入阻塞队列等待获得锁。不同的锁,其线程等待机制是不尽相同的。
2022-11-12 15:55:48
245
原创 微服务架构 与 Dubbo 微服务框架、SpringCloud 微服务框架 详解
微服务架构就是将单体的应用程序分成多个应用程序,这一个应用程序就组成一个服务,这多个应用程序就组成服务体系(微服务),这种这种方式组成的服务架构称为微服务架构。微服务组件主要有 9 种:服务注册中心、服务调用、服务网关、熔断器、分布式配置、服务跟踪、数据流、批量任务。常用的 微服务框架 有 Dubbo 和 SpringCloud,其中,SpringCloud 框架中微服务组件丰富、版本更新快;Dubbo 框架只提供服务远程调用、负载均衡、服务注册三个功能组件,同时方便其他的组件接入。
2022-11-07 23:20:33
488
2
原创 Cookie、Session 和 JWT 到底是什么?有什么不同?
JWT(JSON Web Token)是一个用在客户端和服务端之间、以 JSON 对象的形式安全传输信息的令牌。Cookie 是一个用来辨别用户身份、进行 Session 跟踪的小型文本文件。Session 是一个用来存放单一用户当前访问服务器产生的信息的对象。Cookie 和 Session 一般是一起使用,用户访问的信息用 Session 对象存储在服务端,对应的 SessionID 以 Cookie 对象存储在客户端。
2022-11-04 23:48:41
341
原创 MySql 的 SQL 语句怎么写?
结构化查询语言(Structured Query Language,简称 SQL)是一种数据库查询和设计语言。数据定义语言 DDL(Data Definition Language)。数据查询语言 DQL(Data Query Language)。数据操纵语言 DML(Data Manipulation Language)。数据控制语言 DCL(Data Control Language)。事务控制语言 TCL(Transaction Control Language)。
2022-10-23 22:33:19
491
原创 百度翻译 API 的申请 与 百度通用翻译 API 的接入
IDEA 翻译插件异常,报 TKK 错误。申请百度翻译API,开通通用翻译服务。IDEA 翻译插件改为百度翻译引擎,工具接入百度翻译API。同时,用代码的方式接入百度翻译API。
2022-10-22 18:41:43
1784
原创 选择排序算法的实现(Java 版)
将数组(链表)中的数据分为两个区间:已排序区间和未排序区间。初始已排序区间没有元素。选择排序每次会从未排序区间中找到最小(最大)的元素,将其放到``已排序区间的末尾,保证已排序区间的数据一直有序。重复这个过程,直到未排序区间中元素只剩一个,算法结束。
2022-10-17 22:39:46
163
原创 直接插入排序算法的实现(Java 版)
将数组(链表)中的数据分为两个区间:已排序区间和未排序区间。初始已排序区间只有一个元素,就是数组的第一个元素。重复这个过程,直到未排序区间中元素为空,算法结束。插入排序每次会从未排序区间中找一个元素(这个元素一般是取未排序区第一位元素),在已排序区间中找到合适的插入位置将其插入,保证已排序区间的数据一直有序。
2022-10-17 13:37:24
155
原创 冒泡排序算法的实现(Java 版)
比较相邻的元素,如果前者大于(小于)后者,就交换两者。从第一对(0 和 1)到最后一对(n-2 和 n-1),重复比较;交换完到最后一对时,最后一个元素应该是最大(最小)的数。剔除上一次循环归位的元素后,重复以上的步骤,继续循环。直到剩余数据只有一位;此时排序完成。或者,在当前循环中检测到所有元素都已归位,此时结束当前循环后,排序结束。
2022-10-16 21:26:41
141
原创 常用的排序方法
冒泡排序(Bubble Sort)、插入排序(直接插入排序,Insertion Sort)、归并排序(Merge Sort)、计数排序(Count Sort)、桶排序(箱排序,Bucket Sort)、基数排序(Radix Sort)、选择排序(Selection Sort)、堆排序(Heap Sort)、快速排序(Quick Sort)、希尔排序(Shell's Sort)。
2022-10-15 15:16:59
384
原创 MyBatis 和 MyBatisPlus 的比较
MyBatisPlus 是 MyBatis 的``升级版``,可以``直接将 MyBatis 框架替换成 MyBatisPlus 框架``,``代码无需改动即可运行``。(当然,想要使用 MyBatisPlus 的新功能就必须改动代码)MyBatisPlus 在实体类配置中添加了配置注解。增加了:``主键策略(4 种)``、``分页插件``、``全局拦截插件(智能拦截 delete、update 操作)``、``性能分析插件`` 等等。
2022-10-08 21:55:52
413
原创 Java 实现单例模式
饿汉单例模式。懒汉单例模式。懒汉单例模式(同步锁)。懒汉单例模式(同步锁实现)。懒汉单例模式(类锁实现)。懒汉单例模式(内部类实现)。懒汉单例模式(枚举实现)。
2022-09-25 22:13:28
202
原创 SpringBoot 中配置 MyBatis 实现数据访问
注解方式实现,较为方便,直接通过注解添加 SQL 语句,无需添加 xml 文件。xml 文件方式实现,较为多样,可以添加 if 标签对 update 方法进行去‘空’处理,可以 添加常用的 SQL 段进行复用。@Mapper 注解必须加上。四个注解:@Select、@Update、@Delete、@Insert。四个标签:select、update、delete、insert。
2022-09-23 23:27:25
384
原创 猿创征文|Java 分布式
分布式系统是:由多个节点(计算机服务器)组成的系统,而且这些节点一般不是孤立的,而是互通的。通过计算机网络与节点(计算机服务器)相连,将所有节点都连接上。
2022-09-07 21:12:16
286
原创 猿创征文|数据进制问题及 Java 中的数据进制问题
十进制:只有 0 ~ 9 十个值,计算方法是逢十进一。前缀:无。后缀:d/D。二进制:只有 0 和 1 两个值,计算方法是逢二进一。 前缀:0b/0B(数字 0 加上字母 b/B)。后缀:b/B。八进制:只有 0 ~ 7 八个值,计算方法是逢八进一。前缀:0(数字 0)。后缀:o/O(字母 o/O)。十六进制:只有 0 ~ 9 和 a ~ f 十六个值,计算方法是``逢十六进一。前缀:0x/0X(数字 0 加上字母 x/X)。后缀:h/H。
2022-09-06 16:30:33
162
原创 猿创征文|设计模式的 简述
23种设计模式。设计模式六大原则。JavaEE设计模式。Spring使用到的设计模式。面向过程编程(Procedure Oriented programming)、面向对象编程(Object Oriented Programming)、面向接口编程(Interface Oriented Programming)。...
2022-08-28 22:37:00
400
5
原创 MySql 的事务和索引
事务特性:原子性、一致性、隔离性、持久性。事务隔离级别:读未提交(read uncommitted)、读提交(read committed)、可重复读(repeatable read)、串行化(serializable )。索引分类:主键索引、唯一索引、单值索引、联合索引。...
2022-08-27 18:17:53
640
原创 Java IO 详解 之 字节流抽象父类
InputStream 是字节输入流的抽象父类,InputStream 的所有实现类所操作的数据单位都是字节,即:一个或多个 的读取字节。- OutputStream 是字节输入流的抽象父类,OutputStream 的所有实现类所操作的数据单位都是字节,即:一个或多个 的写入字节。............
2022-08-14 17:53:34
916
2
原创 Java 注释(Java Doc Comment)与注解(Annotation)
注解(Annotation):又称为 标注,即 Java 标注,是 JDK5.0 引入的一种注释机制。注释(Note):用于一些程序进行注释,内容可以是编程思路或者是程序的作用,为了方便自己或他人阅读代码。
2022-08-03 22:43:05
1438
原创 SpringDataJpa的使用 -- 条件查询、排序查询、分页查询 二
entityManager,用于与持久化上下文交互的接口。CriteriaBuilder,是一个泛型,可以理解为:构建条件查询 HQL 语句的构造器。CriteriaQuery,是一个泛型,可以理解为:添加条件查询构建好的 [QL 语句。Specification,是一个泛型,可以理解为存储查询条件的类。Root,是一个泛型,from 子句中的根类型,查询根始终引用实体,可以理解为:用于构建查询条件键值对。...
2022-07-31 22:37:54
358
原创 SQL、HQL、JPQL 到底有什么区别
SQL 是可以操作数据库的。HQL 是 Hibernate 框架实现的,是 对象关系查询语言。JPQL 是 以 HQL 为原型,是 完全面向对象的查询语言。
2022-07-30 20:11:43
867
原创 SpringDataJpa的使用 -- 条件查询、排序查询、分页查询
SpringDataJpa的使用 -- 条件查询、排序查询、分页查询、分组查询、统计查询
2022-07-24 23:02:29
8238
原创 URLEncode.encode(String,String) 和 new String(byte[],String) 的区别
URLEncode.encode(String,String) 和 new String(byte[],String) 的区别
2022-07-20 21:51:30
638
原创 Spring Boot 引入 Jxls 导出数据到 Excel 表格 -- 仅使用 Excel 模板
Spring Boot 引入 Jxls 导出数据到 Excel 表格 -- 仅使用 Excel 模板
2022-07-19 23:28:11
1173
原创 Java 常用数据类型(总结)
Java 常用数据类型(总结)本文表格数据主要来源 ``《Java核心技术第10版(套装共2册)》-- 作者:[美]凯S.霍斯特曼,霍斯特曼,科内尔 -- 译者:陈昊鹏等 ``
2022-07-16 23:30:51
275
原创 SpringDataJpa的使用 -- 连接 MySQL、Oracle 数据库 一(配置数据库实现 ID 自增)
SpringDataJpa的使用 -- 连接 MySQL、Oracle 数据库 一(配置数据库实现 ID 自增)
2022-07-14 11:41:54
1742
Druid 的一些常用配置
2022-07-21
Excel 表格导出模板
2022-07-19
new String 创建了几个对象?
2022-08-19
JPA 引入的 CriteriaUpdate 怎么用?
2022-08-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人