- 博客(62)
- 收藏
- 关注
原创 JVM垃圾收集器 从Serial到G1概述
如果说垃圾收集算法是方法论,那么垃圾收集器就是内存回收的实践者了,让我们从远到近来具体了解一下JVM中的垃圾收集器
2022-08-19 18:29:44
257
原创 leetcode 22.8.7 (1) 单词长度的最大乘积 (2)排序数组中两个数字之和 (3)数组中和为 0 的三个数
单词长度的最大乘积;排序数组中两个数字之和;数组中和为 0 的三个数
2022-08-07 10:40:42
179
原创 java 位运算 + leetcode 22.8.3 前n个数字二进制中1的个数
java 位运算 + leetcode 22.8.3 前n个数字二进制中1的个数
2022-08-03 16:13:43
156
原创 Spring data jpa 使用Specification实现动态查询
第二次修改,改掉了一些bug和不适合实际开发的代码原本使用BeanUtils的工具类的describe方法,只能生成map<String,String>改用PropertyUtils的describe方法可以生成map<String,object>更加贴合实际开发去掉了id字段,这个字段会影响查询,因为没有赋值,但系统在封装实体类对象的时候会给一个0的默认值,导致查询受到影响。
2022-03-12 22:22:21
1037
1
原创 SpringBoot 日志系统LogBack配置本地文件打印日志
SpringBoot 日志系统LogBack配置本地文件打印日志原理在使用SpringBoot的时候,我们每次启动的时候都会看到一大段日志信息,整合在一个项目中的不同框架即使使用不同日志系统但它们的日志信息都以统一的格式打印在控制台上,这就是SpringBoot为了统一日志做出的工作。直接将其他依赖以前的日志框架剔除导入对应日志框架的Slf4j中间包导入自己官方指定的日志实现,并作为Slf4j的日志实现层注:Slf4j是日志门面,简单理解就是个模型,并非具体实现的日志系统,但提供提供了统一
2022-02-21 21:58:26
939
原创 全最新版软件搭建Spring源码5.3.x阅读环境
全最新版软件搭建Spring源码阅读环境前期准备1.IDEA 2021.3.1 官方下载地址:Download IntelliJ IDEA: The Capable & Ergonomic Java IDE by JetBrains2.Git 官方下载地址:Git - Downloads (git-scm.com)3.Gradle 官方下载地址:Gradle | ReleasesPS:为了搭建最新的Spring-framework源码阅读环境最新的IDEA是有必要的,因为我们需要ide对j
2022-01-25 19:25:15
1123
1
原创 没搞明白的bug记录01
没搞明白的bug记录时隔几周再次使用druid数据库连接池,遇到了奇怪的问题,解决地也莫名其妙,本来以为是版本兼容性问题,经过验证发现并不是。问题描述通过xml的方式对druid进行依赖注入,本来照理说应该通过SpEl表达式引入外部的数据库配置文件db.properties中的数据,我先偷了个懒,直接在value中输入了诸如数据库账号密码等数据,然后就无法实现数据库的连接,druid循环报错,应该是无法实现数据库连接的初始化,报出来的错误日志中找不到有效的信息。十二月 01, 2021 9:10:0
2021-12-01 21:28:31
464
2
原创 Java反射无参和有参构造对象
Java反射无参和有参构造对象了解java反射对理解Spring的IOC容器比较有帮助,依赖反转实际上就是通过反射来实现的反射无参构建对象ReflectServiceImpl object = null;objetct = (ReflectServiceImpl) Class.forName("com.ylf.service.ReflectServiceImpl").newInstance();上面算是核心代码部分,我们调用Class类中的静态方法forName(),通过向方法里面传递一个全限定
2021-11-11 22:20:42
966
原创 AJAX基础用法
AJAX原生JS实现不过多要求,因为不常用 //1.创建核心对象 var xmlhttp; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else
2021-10-29 22:26:55
153
2
原创 JQuery基础语法
目录JQuery基础概述JQuery对象和JS对象区别与转换基础操作选择器基本选择器层级选择器属性选择器过滤选择器表单过滤选择器DOM操作内容操作属性操作CRUD操作JQuery基础概述一个JavaScript框架, 简化JS开发, 本质上就是一些js文件,封装了js的原生代码而已。JQuery对象和JS对象区别与转换1.操作JQuery对象在操作时,更加方便。2.通用性JQuery对象和js对象方法不通用的.3.转化1. jq – > js : jq对
2021-10-27 10:29:26
1853
1
原创 随笔02-
随笔02如果数据库查询功能失效但并未报任何错误,建议先检查where后面的值是否没有赋值或为null。Java Servlet中Map<String, String[]> parameterMap = req.getParameterMap();这个方法不管是在post还是get中的请求都能一次性获得...
2021-10-20 22:50:50
89
原创 MySQL语法小结
目录MySQL启动登录退出SQL注释分类数据类型简单数据类型DDL:操作数据库、表操作数据库:CRUDC(Create):创建R(Retrieve):查询U(Update):修改使用数据库操作表:CRUDC(Create):创建R(Retrieve):查询U(Update):修改D(Delete):删除DML:增删改表中数据添加数据删除数据修改数据DQL:查询表中的记录标准查询基础查询条件查询排序查询聚合函数分组查询分页查询约束概念和分类主键约束外键约束级联操作MySQL启动1.手
2021-10-08 21:58:22
123
原创 MySQL语法小结
目录MySQL启动登录退出SQL注释分类数据类型简单数据类型DDL:操作数据库、表操作数据库:CRUDC(Create):创建R(Retrieve):查询U(Update):修改使用数据库操作表:CRUDC(Create):创建R(Retrieve):查询U(Update):修改D(Delete):删除DML:增删改表中数据添加数据删除数据修改数据DQL:查询表中的记录标准查询基础查询条件查询MySQL启动1.手动打开服务窗口cmd输入services.msc,找到mysql服务
2021-10-07 21:56:15
184
原创 IDEA 2021.2 如何配置一个Tomcat的web项目
IDEA 2021.2 如何在配置一个Tomcat的web项目目录IDEA 2021.2 如何在配置一个Tomcat的web项目前言1.创建一个JavaEE项目截图分步演示2.配置Tomcat,并在Tomcat中部署该项目截图分步演示前言因为在观看视频时发现新版IDEA和老版本IDEA在配置Tomcat和项目时步骤有所不同,因而写下这个小教程。教程大致分为两个部分,1.创建一个JavaEE项目 2.配置tomcat,并在其中部署项目。1.创建一个JavaEE项目大致简述:首先创建一个普通的j
2021-09-27 12:46:37
2020
2
原创 JS定时器的一些特性和如何避免重复设置定时器的三种解决方法
JS定时器的一些特性和如何避免重复设置定时器概述和总结每个JS定时器产生时会被系统分配一个id,这个id是正整数,而且一个页面里面的定时器id不重复,我们能用一个变量接收这个id,但是如果重复执行一条接收创建语句,那么你只能接收到最新创建的定时器的id,之前创建的定时器的id会被覆盖,但是定时器数量在增加,这就会导致界面一些功能错乱,解决方法就是在重复按开始按钮时,如果已经有了一个定时器那么就不执行语句,我列出了错误代码和三种解决方法,可以解决定时器重复创建问题。ps:定时器id的配发是递增的,从1开
2021-09-18 23:42:53
2515
原创 Room---让我们更加流畅地访问SQLite数据库
RoomSQLite 的抽象流畅地访问SQLite数据库数据库操作原则性不能放在主线程(UI线程),因为这样的耗时操作可能导致用户体验迟钝,一般超过10ms,用户就会有明显的感知原本Android的数据库操作是相对很复杂,利用jetpack中的room组件可以稍微简单点Entity Dao DatabaseEntity一行就是一个Entity, 它定义了整个表的结构添加依赖创建一个新项目进入gradle按照以下代码添加依赖(为确保版本为最新,最好查看官方文档)dependenci
2021-09-08 22:49:05
402
原创 JavaScript04
DOM:* 概念: Document Object Model 文档对象模型 * 将标记语言文档的各个组成部分,封装为对象。可以使用这些对象,对标记语言文档进行CRUD的动态操作* W3C DOM 标准被分为 3 个不同的部分: * 核心 DOM - 针对任何结构化文档的标准模型 * Document:文档对象 * Element:元素对象 * Attribute:属性对象 * Text:文本对象 * Comment:注释对象 * Node:节点对象,其他5个的父对象
2021-09-07 22:53:43
76
原创 JavaScript03
DOM简单学习* 功能:控制html文档的内容* 获取页面标签(元素)对象:Element * document.getElementById("id值"):通过元素的id获取元素对象* 操作Element对象: 1. 修改属性值: 1. 明确获取的对象是哪一个? 2. 查看API文档,找其中有哪些属性可以设置 2. 修改标签体内容: * 属性:innerHTML 1. 获取元素对象 2. 使用innerHTML属性修改标签体内容事件简单学习* 功能: 某些组件被执行
2021-09-07 22:49:03
51
原创 JavaScript02
8. 练习:99乘法表 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>99乘法表</title> <style> td{ border: 1px solid; } </style> ..
2021-09-06 07:27:01
88
原创 JavaScript笔记01
JavaScript:* 概念: 一门客户端脚本语言 * 运行在客户端浏览器中的。每一个浏览器都有JavaScript的解析引擎 * 脚本语言:不需要编译,直接就可以被浏览器解析执行了* 功能: * 可以来增强用户和html页面的交互过程,可以来控制html元素,让页面有一些动态的效果,增强用户的体验。* JavaScript发展史: 1. 1992年,Nombase公司,开发出第一门客户端脚本语言,专门用于表单的校验。命名为 : C-- ,后来更名为:ScriptEase 2. 199
2021-09-04 22:40:56
57
原创 CSS:页面美化和布局控制和案例
CSS:页面美化和布局控制1. 概念: Cascading Style Sheets 层叠样式表 * 层叠:多个样式可以作用在同一个html的元素上,同时生效2. 好处: 1. 功能强大 2. 将内容展示和样式控制分离 * 降低耦合度。解耦 * 让分工协作更容易 * 提高开发效率3. CSS的使用:CSS与html结合方式 1. 内联样式 * 在标签内使用style属性指定css代码 * 如:<div style="color:red;">hello
2021-09-04 06:54:45
293
原创 HTML02
HTML标签:表单标签* 表单: * 概念:用于采集用户输入的数据的。用于和服务器进行交互。 * form:用于定义表单的。可以定义一个范围,范围代表采集用户数据的范围 * 属性: * action:指定提交数据的URL * method:指定提交方式 * 分类:一共7种,2种比较常用 * get: 1. 请求参数会在地址
2021-09-02 23:05:11
49
原创 HTML笔记·01
web概念概述* JavaWeb: * 使用Java语言开发基于互联网的项目* 软件架构: 1. C/S: Client/Server 客户端/服务器端 * 在用户本地有一个客户端程序,在远程有一个服务器端程序 * 如:QQ,迅雷... * 优点: 1. 用户体验好 * 缺点: 1. 开发、安装,部署,维护 麻烦 2. B/S: Browser/Server 浏览器/服务器端 * 只需要一个浏览器,用户通过不同的网址(URL),客户访问不同的服务器端程序 *
2021-09-01 21:54:06
92
原创 制作一个安卓程序全记录01
制作一个安卓程序全记录1.创建一个空白的项目你可以在创建的选项里找到一些预设好的模板,这里我们直接使用空白的。01[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zuvW2yqs-1630504359872)(C:\Users\86152\Desktop\Screen Pic\android-01.png)]02[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mH9EQHXu-1630504359874)(C:\Users\86152
2021-09-01 21:52:49
288
原创 Spring JDBC 笔记
Spring JDBC* Spring框架对JDBC的简单封装。提供了一个JDBCTemplate对象简化JDBC的开发* 步骤: 1. 导入jar包 2. 创建JdbcTemplate对象。依赖于数据源DataSource * JdbcTemplate template = new JdbcTemplate(ds); 3. 调用JdbcTemplate的方法来完成CRUD的操作 * update():执行DML语句。增、删、改语句 * queryForMap():查询结果将结果集封
2021-08-30 23:37:54
94
原创 JDBC连接池
数据库连接池1. 概念:其实就是一个容器(集合),存放数据库连接的容器。 当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。2. 好处: 1. 节约资源 2. 用户访问高效3. 实现: 1. 标准接口:DataSource javax.sql包下的 1. 方法: * 获取连接:getConnection() * 归还连接:Connection.close()。如果连接对象C
2021-08-30 11:57:50
81
原创 抽取JDBC工具类
抽取JDBC工具类 : JDBCUtils* 目的:简化书写* 分析: 1. 注册驱动也抽取 2. 抽取一个方法获取连接对象 * 需求:不想传递参数(麻烦),还得保证工具类的通用性。 * 解决:配置文件 jdbc.properties url= user= password= 3. 抽取一个方法释放资源* 代码实现: public class JDBCUtils { private static String url; private
2021-08-28 23:15:14
82
原创 JDBC01
JDBC:1. 概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数据库 * JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。2. 快速入门: * 步骤: 1. 导入驱动jar包 mysql-connector-java-5.1.37-bin.jar 1.复制mysql-
2021-08-28 07:00:19
83
原创 Android Studio 安装配置及AMD CPU可能遇到的问题解决
Android Studio 安装配置及AMD CPU可能遇到的问题解决Android Studio 下载安装和配置百度搜索 Android Studio ,或者直接点击这个链接https://developer.android.google.cn/studio?hl=zh-cn点击之后同意他的一些条款便开始下载了安装 运行下载完的文件安装的时候其实除了安装路径不需要更改任何默认配置点击运行后,第一个界面是让你是否导入旧版的配置,这里我们没有旧版,那就选择第二项
2021-08-26 23:06:03
2293
1
原创 mysql DCL
DCL:* SQL分类: 1. DDL:操作数据库和表 2. DML:增删改表中数据 3. DQL:查询表中数据 4. DCL:管理用户,授权* DBA:数据库管理员* DCL:管理用户,授权 1. 管理用户 1. 添加用户: * 语法:CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码'; 2. 删除用户: * 语法:DROP USER '用户名'@'主机名'; 3. 修改用户密码: UPDATE USER SET
2021-08-25 23:13:24
90
原创 mysql事务
事务1. 事务的基本介绍 1. 概念: * 如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败。 2. 操作: 1. 开启事务: start transaction; 2. 回滚:rollback; 3. 提交:commit; 3. 例子: CREATE TABLE account ( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(10), balance DOUBLE
2021-08-23 22:19:52
53
原创 MySQL03 (笔记)
多表查询:* 查询语法: select 列名列表 from 表名列表 where....* 准备sql # 创建部门表 CREATE TABLE dept( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20) ); INSERT INTO dept (NAME) VALUES ('开发部'),('市场部'),('财务部'); # 创建员工表 CREATE TABLE emp ( id INT PRIMARY KEY
2021-08-22 22:56:42
38
原创 数据库设计02(笔记)
2. 数据库设计的范式 * 概念:设计数据库时,需要遵循的一些规范。要遵循后边的范式要求,必须先遵循前边的所有范式要求 设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。 目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。 * 分类: 1. 第一范式(1NF):每一列都是不可分
2021-08-21 23:33:18
59
原创 数据库的设计(笔记)
数据库的设计1. 多表之间的关系 1. 分类: 1. 一对一(了解): * 如:人和身份证 * 分析:一个人只有一个身份证,一个身份证只能对应一个人 2. 一对多(多对一): * 如:部门和员工 * 分析:一个部门有多个员工,一个员工只能对应一个部门 3. 多对多: * 如:学生和课程 * 分析:一个学生可以选择很多门课程,一个课程也可以被很多学生选择 2. 实现关系: 1. 一对多(多对一): * 如:部门和员工 * 实现方式:在多的
2021-08-20 22:43:29
54
原创 ViewModel小案例
我这个小程序使用MVVM的架构进行设计,并且使用单activity,多fragment的界面结构,使用ViewModel对于数据进行处理和保存。ViewModel可以在程序的生命周期中自动保存特定的数据,让我们可以在联网游戏或者本地保存游戏进度,不至于在返回桌面等操作之后出现数据丢失的情况。使用单activity,多fragment的结构,可以使界面的切换更加流畅(fragment是轻量化的activity),每个界面都是一个fragment类,其中包含了界面中有的UI,以及部分数据处理和逻辑的实现。在每一
2021-08-19 23:13:12
152
原创 Handler实现线程通讯
下面这段代码来自我自己写的一个小程序,利用handler实现了UI线程和子线程的通讯//先定义一个handlerstatic private Handler handler;//用匿名内部类的方式创建handler,重现里面的handleMessage方法,作用就是当你接收到符合要求的msg,就执行方法体里面的内容,这个msg当然是来自其他线程的。handler = new Handler() { @Override public void handleMessage
2021-08-18 22:19:38
205
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人