- 博客(37)
- 收藏
- 关注
原创 MYSQL
连接层,服务层,引擎层,文件层,引擎指的是mysql在数据操作时,所使用的的技术(事务,索引,锁,外键..)。索引就是排好序的快速查找的数据结构。及其原理、优势、劣势、分类
2024-01-24 19:18:40 992
原创 设计模式下
虽然相对于静态代理,动态代理大大减少了我们的开发任务,同时减少了 对业务接口的依赖,降低了耦合度。但是它始终无法摆脱仅支持 interface 代理的桎梏,只能对接口进行代理。CGLIB 创建的动态代理对象比JDK 创建的动态代理对象的性能更高,但是 CGLIB 创建代理对象时所花费的时间却比 JDK 多得多。所以对于单例的对象,因为无需频繁创建对象,用 CGLIB 合适,反之使用 JDK 方式要更为合适一些。同时由 于 CGLib 由于是采用动态创建子类的方法,对于 final 修饰的方法无法进行代理。
2024-01-23 15:34:33 1608
原创 并发编程(下)
AQS是一个用来构建锁和同步器的框架,使用 AQS能简单且高效地构造出同步器,是 JUC中核心的组件。是一个底层具体的同步实现者,很多同步的类底层都用到了AQS。用于标记有没有线程在访问共享资源。变量 state表示锁状态,0-锁未被使用,大于 0锁已被使用共享变量 state,使用 volatile修饰保证线程可见性。通过 getState方法获取锁状态, compareAndSetState 方法使用 CAS机制设置状态。
2024-01-19 20:03:18 787
原创 并发编程(上)
1. 保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。在java.util.concurrent 包下面提供一些类,可以在不加锁的情况下,实现++操作的原子性,这。适合在低并发的情况下使用。可以实现写锁和读锁 ,读写可以用一个锁实现,都是读的时候,多个线程可以共享这把锁(可以同。jdk8之后,去除了真正的分段锁,现在的分段锁不是锁,是一种实现的思想。乐观锁其实就是不加锁, 乐观的认为不加锁的并发操作是没有问题的,并发修改时,进行比较,
2024-01-19 19:14:17 818
原创 Redis
Redis概念、作用、线程模型、持久化、事务、主从复制、哨兵机制、Key过期策略、与MySQL数据保持一致、缓冲穿透、缓冲击穿、缓冲雪崩
2024-01-14 17:39:16 818
原创 SpringWeb
SpringWeb 是 spring 框架中的一个模块,是基于 Servlet API 构建的原始 web 框架,是 Spring 为 web 层开发提供的一整套完备的解决方案。
2023-08-30 21:42:43 225
原创 Mybatis
mybatis 是一个优秀的数据持久层框架。它支持自定义 SQL、存储过程和高级映射。mybatis原是Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Software Foundation 迁移到了 Google Code,随着开发团队转投Google Code 旗下, iBatis3.x正式更名为MyBatis。 mybatis是对jdbc进行轻量级的封装,提供专门xml文件来进行配置,以及可以自动的对查询结果进行封装,是一个ORM(java对象与数据库表映射)实现的
2023-08-27 08:05:51 66
原创 Git及在idea里集成git
Git 是一个免费的开源分布式版本控制系统,可以快速高效地处理从小型到 大型项目的所有内容。Git 易于学习, 占地面积小,具有闪电般的快速性能。它具有诸如 Subver sion,CVS 之类的版本控制工具,具有廉价的本地分支,便捷的暂存区域和 多 个工作流等功能。什么是版本控制?就是记录文件历史记录,多人共享代码版本控制工具本质上是一个代码仓库版本控制工具类别:集中式:所有开发者共享服务器仓库,所有版本信息集中在服务器仓库,每个人都可以在一定程度上看到项目中的其他人正在做些什么。
2023-08-23 15:44:15 1346
原创 Maven
Maven是apache一个开源项目,是一个项目架构工具 1.管理jar包以及jar包之间的依赖2.完成项目的编译,测试,打包等 apache统一建立jar包仓库,把jar包写好后上传到仓库中,若其他人想要使用,只需要知道jar包的地址,就可以从仓库中下载。项目坐标:就是jar包在仓库中的位置。仓库:本地仓库,中央仓库,中央仓库镜像。jar包一般现在本地仓库找,找不到再从中央仓库或中央镜像找。 在maven项目中,有一个pom.xml文件,在其中配置jar包坐标(即项目坐标),这样maven就会自动下载j
2023-08-21 20:35:15 44
原创 MySQL
SELECT employees,salary "月工资",salary * (1 + IFNULL(commission_pct,0))*12 "年工资"SELECT employees_id emp_id,last_name AS lname,department_id "部门id";这些不仅定义了不同的数据库,表,视图,索引,等数据库对象,还可以用来创建,删除,修改数据库和数据表的结构。同一个MySQL软件中,数据库名不能同名;关键字,函数名,列名(或字段名),列的别名(字段的别名)忽略大小写。
2023-06-23 07:03:10 43
原创 MySQL环境搭建
提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
2023-06-23 07:01:46 83
原创 登录前后端优化
首先在登录成功之后, 要在后端生成token, 再将token连随响应数据一并发送给前端, 前端得到token之后, 在接下来的每一次发送请求都会将token携带到请求里, 到后端来验证token是否正确, 正确就继续执行操作, 不正确就要返回 token不对的异常信息. 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。 服务器通过Cookie将生成的会话id响应到浏览器中,之后每次请求将浏览器端的会话id向服务器端提交,服务器就可以得知是哪个客户端发起的请求.
2023-06-03 08:04:21 59
原创 Servlet详细了解
由于客户端是通过URL地址访问web服务器中的资源,所以Servlet程序若想被外界访问,必须把servlet程序映射到一个URL地址上,这个工作在web.xml文件中使用<servlet>元素和<servlet-mapping>元素完成。ip(找到计算机)+端口(找到计算机上的某一个程序,这里也就是找到服务器)+项目名(一个服务器中有可能部署了多个项目,所以需要通过名称找到项目)+配置注册的servlet的名称(找到对应的servlet访问地址)
2023-06-03 07:42:47 166
原创 Servlet
Web服务器是指驻留于因特网上某种类型计算机的程序.可以向浏览器等Web客户端提供文档,也可以放置网站文件,让全世界浏览,是一个容器,是一个连接用户与程序之间的中间件。在小型的应用系统或者有特殊需要的系统中,可以使用一个免费的Web服务器: Apache 的Tomcat,该服务器支持全部JSP以及Servlet规范.Servlet是Server Applet的简称,意思为用Java编写的服务器端的程序.它运行在web服务器中,web服务器负责Servlet和客户的通信以及调用Servlet方法。
2023-05-27 21:50:55 39
原创 Vue-Cli项目搭建
vue-cli 官方提供的一个脚手架,用于快速生成一个 vue 的项目模板;预先定义 好的目录结构及基础代码,就好比咱们在创建 Maven 项目时可以选择创建一个 骨架项目,这个骨架项目就是脚手架,我们的开发更加的快速。统一的目录结构;本地调试;热部署;单元测试;集成打包上线。
2023-05-26 15:40:57 272
原创 GUI及其组件
Swing中的大部分组件类位于javax.swing包中;Swing中的组件非常丰富,支持很多功能强大的组件。Java的图形用户界面的基本组成部分是组件,组件是一个以图形化的方式显示在屏幕上并能与用户进行交互的对象;组件不能独立地显示出来,必须将组件放在一定的容器(container)中才可以显示出来。容器可以容纳多个组件,通过调用容器的add(Component comp)方法向容器中添加组件。窗口(Frame)和面板(Panel)是最常用的两个容器。
2023-05-26 15:26:43 2057
原创 Leetcode 122. 买卖股票的最佳时机 II
随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6 - 3 = 3。在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。在这种情况下, 交易无法获得正利润,所以不参与交易可以获得最大利润,最大利润为 0。
2023-05-12 19:16:29 25
原创 Leetcode 练习题
在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。第二次:优化第一次,先找到最小的股票价格,然后顺从最低股票价开始计算最大利润,只需遍历一次就可以了O(n)注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回。设计一个算法来计算你所能获取的最大利润。在这种情况下, 没有交易完成, 所以最大利润为 0。买入这只股票,并选择在。
2023-05-12 09:30:00 31
原创 MVVM&VUE
MVVM是model-view-viewmodel的简写。MVVM就是将其中的view的状态和行为抽象化,让我们将视图UI和业务逻辑分开。
2023-04-29 11:03:04 59
原创 JavaScript
javaScript脚本写在一组<script>标签中,此标签可以放在head中或body中,一般习惯放在 head中,还可以将脚本写在外部的.js文件中,在html页面中导入外部的.js文件。5.substr(start,length) :返回原字符串的子字符串,该字符串是原字符串从start。语法:document.getElementById("id").style.property=new style;getSeconds() 返回 Date 对象的秒数 (0 ~ 59))
2023-04-09 17:45:15 37
原创 线程知识点总结
一程序,进程,线程1.程序是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码.2.进程就是正在执行的程序,从Windows角度讲,进程是操作系统进行资源分配的最小单位.3.线程是一个进程内部的最小执行单元,是操作系统进行任务调度的最小单元,隶属于进程.4.一个进程可以包含多个线程,一个线程只能属于一个进程,线程不能脱离进程而独立运行二创建线程方式Thread与Runnable1.在Java中实现线程,最简单的方式就是扩展Thread类,重写其中的run方法 还可以通
2023-02-03 12:23:58 60
原创 关键字和封装
封装是一个保护屏障,保护类的代码和数据不被外部类定义的代码随机访问。如果要访问该类的代码和数据,要通过严格的接口控制。可以让程式码更容易理解与维护,增强了安全性。设计一个学生信息管理系统,有添加学生,查询学生,删除学生等功能.要求:1.设计一个类学生类,学生属性有学号,姓名,性别(属性私有权限)1.启动程序后输出一个菜单让用户选择操作:1.添加学生,2-删除学生,3.查询学生,4-退出2.选择添加学生在控制台依次输入学号,姓名,性别等信息,将学生信息存储到一个数组中,数组容量定位30.
2022-12-01 18:30:49 184
原创 面向对象类与对象
1.写出你对面向对象语言的理解2.定义一个Student类属性有学号,姓名,年龄,性别,语文成绩,数学成绩,英语成绩,方法有:学习,考试(打印输出学习,考试即可))创建两个学生对象,并给属性赋值和调用方法3.定义长方形类,含:属性:宽、高(整型);方法:求周长、面积; (返回值)在main方法中进行测试。4.定义一个中国银行类,属性:账号、密码、余额,银行名称。方法:注册账号,存款、取款、查询余额验证账号密码的方法在main方法中创建该类对象并测试
2022-11-27 08:56:58 121
原创 五子棋简单实现
package classwork;import javax.sound.midi.Soundbank;import java.util.Arrays;import java.util.Scanner;public class Dome2 {static String[][] Qp=new String[15][15]; static String[] num = {"⒈","⒉","⒊","⒋","⒌","⒍","⒎","⒏","⒐","⒑","⒒","⒓","⒔","⒕","⒖"};
2022-11-18 07:51:06 49
原创 数组练习题
# 作业:### 看程序写结果写出结果class Demo{public static void main(String[] args){ String foo="blue"; boolean[] bar=new boolean[2]; if(bar[0]){ foo="green"; } System.out.println(foo);// }}blue### 下面哪个数组定义是否是错误的,如果是错误的,写出错误的原因。A,float[] a= new f
2022-11-10 14:20:45 102
原创 Java 1.是否偶数/2.sdut-温度转换/3.sdut-入门-求两个整数之和
Java 1.是否偶数/2.sdut-温度转换/3.sdut-入门-求两个整数之和
2022-10-05 13:00:01 790
原创 简单题 - A PAT首页 java
简单题 - A PAT首页 java在屏幕上输出“There's no one to stop you but yourself.”(能困我者唯己身而已)这句话
2022-10-03 16:36:44 380
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人