- 博客(39)
- 收藏
- 关注
原创 项目中使用Redis 配置步骤
一、maven 项目 pom.xml 文件中除了Springboot相关依赖还要加入<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.42<version></dependency><dependency> <groupId>org.spring
2022-04-01 16:18:03 2092
原创 多线程:创建一个线程池的方法
创建线程池,每次使用线程时在map中查询一下线程池是否存在,如果存在,就从此线程池中获取线程,如果不存在,就要创建一个线程池,放进map中,再从中获取一个线程://线程池类public class CachedThreadPool{ Map<Sring,ExecutorService> executorServices = new HashMap<>(); public ExecutorService ThreadPool(String appid){ if
2022-01-17 14:56:40 321
原创 部署项目到Linux服务器需要注意的问题
测试环境下:logback.xml 中的日志级别:<configuration><appender>...</appender><root level="DEBUG"> <appender-ref ref="STDOUT" /></root></configuration>部署上线时,logback.xml 中的日志级别:<configuration><appender>..
2022-01-17 13:54:01 296
原创 常用正则表达式(亲测可用),不断补充...
1.判断字符串只能是0-20位的大小写字母+数字://correct test case: 123Aa,567Bv;//wrong test case: 0.1, 0, 123, -1, -0.1, abString nonce = 123Ab;nonce.matches("^(?![0-9]+$)(?![a-zA-Z]+$)[0-9a-zA-Z]{0,20}$");2.判断字符串只能是正整数//correct test case: 1, 87653521123567 //wrong te
2022-01-17 11:18:25 325
原创 Spring—— AOP
????AOPAOP:(Aspect Oriented Programming)面向切面编程OOP:(Object Oriented Programming)面向对象编程✨面向切面编程:基于OOP基础之上新的编程思想指在程序运行期间,将某段代码动态的切入到指定方法的指定位置进行运行的这种编程方式,面向切面编程✨场景:计算器运行计算方法的时候进行日志记录;加日志记录:1)直接编写在方法内部;不推荐,修改维护麻烦日志记录:系统的辅助功能业务逻辑:(核心功能)耦合;2)我们希望业务逻辑:(
2021-05-06 23:55:24 94
原创 Spring—— IOC
1.框架:半成品软件高度抽取可重用代码的一种设计;高度的通用性;书城:WebUtils.java;BaseServlet;Filter…打包:bookstore.jar;(工具类)commons-fileupload,common-io(工具类),commons-dbutils(方便操作数据库的工具)框架:抽取成一种高度可重用的;事务控制,强大的servlet,项目中的一些工具框架:多个可重用模块的的集合,形成一个某个领域的整体解决方案2.Spring:是一个容器(可以管理所有的组件(类))
2021-05-06 23:50:14 94
原创 JDBCTemplate
????Spring JDBCSpring框架对JDBC的简单封装。提供了一个JDBCTemplate对象,来简化JDBC的开发✨步骤:1.导入5个jar包:Spring-beans-1.2Common-logging-5.0.RELEASESpring-core-5.0.RELEASEspring-jdbc.RELEASEspring-txg.5.0.RELEASE2.创建JDBCTemplate对象。依赖于数据源DataSource*JDBCTemplate template = n
2021-05-05 17:29:01 118
原创 BeanUtils
????BeanUtils工具类,简化数据封装*用于封装JavaBean的✨JavaBean:标准的Java类要求:1.类必须被public修饰2.必须提供空参的构造器3.承运变量必须使用private修饰4.提供公共setter和getter方法功能:封装数据✨概念:成员变量:属性:setter 和 getter 方法截取后的产物方法:setProperty();getProperty();populate(Object obj, Map map):将map集合的键值对信息,
2021-05-05 17:27:33 83
原创 Ajax
????概念:xhr对象项服务器发送请求,并收到响应数据,利用dom增删改的方式改变页面效果异步:不会阻塞浏览器同步:会阻塞浏览器,需要等到服务器整个处理完请求,完成响应以后才能做其他事情????JSON需要掌握的方法:var stepson = JSON.stringify(student2); //将js对象转为json字符串var stu2c = JSON.parse(jsonStr);//将字符串再次回转为js对象;????实现方式:1.原生的JS实现方式(不常用)2.JQuer
2021-05-05 17:26:10 70
原创 Cookie,Session,过滤器
Cookie1.会话:一次会话中包含多次请求和响应一次会话:浏览器第一次给服务器资源发送请求,会话建立,知道有一方断开为止2.功能:在一次会话的范围内的多次请求间,共享数据3.方式:客户端会话技术:Cookie服务器端绘画技术:Session????Cookie:1.概念:客户端会话技术,将数据保存到客户端2.快速入门:使用步骤:服务器创建Cookies对象,绑定数据Cookie c1 = new Cookie(String name,String value)服务器发送给客户端C
2021-03-20 17:58:58 191
原创 Servlet
????Servlet 接口当服务器接到客户端的请求后调用了Servlet, Servlet给这个请求分配对应的处理类,处理完传给服务器,服务再返回给客户端。????面试常考:Servlet 生命周期4个步骤:1)实例化 —先创建Servlet 实例2)初始化 —init( )3)处理请求 —-service( ) ps:如果重写这个方法,无论do get()请求还是do post() 请求都会执行这个方法4)服务终止 — destroy( )????✅需背诵:1)当客户端首次发送第一次请
2021-03-20 17:56:49 233
原创 数据库高阶(二)索引与SQL优化、B+树
MySQL高阶(二)????索引与SQL优化✨什么是索引?索引(Index)类似图书的目录索引,可以提高数据检索的效率,降低数据库的IO成本。MySQL官方对索引的定义为:索引(index)是帮助MySQL高效获取数据的数据结构是快速查找排好序的一种数据结构✨索引的分类:1)主键索引:primary key即主索引,根据主键 建立索引,不允许重复,不允许空值,通常自增;注意删除时要先取消自增,再删除主键如果表中没有定义主键,InnoDB 会选择⼀个唯⼀的非空索引代替。 如果没有这样的索
2021-03-20 17:52:09 159
原创 数据库高阶(一)表联结、多表查询练习
MySQL数据库高阶????表连结查询表关系:一对一(少),一对多(常用),多对多✨子查询(嵌套sql):为了了对每个客户执⾏行行COUNT()计算,应该将COUNT()作为⼀一个⼦子查询。select cust_id,cust_name,(select count(*)from orderswhere orders.cust_id = customers.cust_id) as orders)from customersorder by cust_name;嵌套查询通常是,一条数据的
2021-03-19 17:30:19 473
原创 数据库基础
数 据 库——MySQL基础????MySQL概述与基本操作数据库()特点:对数据进行持久化保存对数据的存储和查询,速度快,安全,方便可以处理并发访问拥有更加安全的权限管理访问机制类型分类:MySQL / Oracleredis 键值存储,无表关系,无法查询,持久化存储存在硬盘mongoDB 文档性可以和MySQL / Oracle配合使用提高性能????数据库与数据类型操作时首先要有一个库,库中存有多个表,表中存储的数据类型不同,表中有:表头(在MySQL中叫字段Field),有
2021-03-19 17:24:06 729
原创 Flex布局,移动端适配,响应式布局
Flex布局????flex特点:移动端或是不考虑兼容的PC端采用flex布局,PC端不使用任何一个标签都可以指定使用flex布局父标签设为flex布局后,自元素的float,clear和vertical-align属性将失效使用行和列的思路来控制布局:主轴main????flex使用1.flex入口,加在容器上display:flex;2.水平 两端对齐 居中justify-content: space-between;3.单行垂直居中align-items: center;✨f
2021-03-19 17:16:47 1273
原创 前端:JQuery
????JQuery 是一个JavaScript库,极大地简化了JavaScript编程。JQuery一定要引入文件才能使用,本章内容从JQuery的选择器,属性,文档处理,效果展示,事件处理五部分展开介绍。????Jquery 的三种入口1.简洁入口$(function(){ $("h1").css("color","green");//获取id属性值为bid的按钮并绑定点击事件。 $("#bid").click(function(){ alert("ok"); })
2021-03-19 17:12:41 115
原创 前端:JavaScript (五)XML DOM
都是方便用JS语言动态操作页面,XML DOM用来弥补HTML DOM的不足????拥有与HTML DOM 相同的属性nodeName, nodeValue, nodeType✨获取和遍历方式有两种:<script> //获取ul中的所有li节点 var list = document.getElementById("uid").getElementsByTagName("li"); console.log("节点数量:",list.length); //通过子节
2021-03-19 15:24:32 337
原创 前端:JavaScript(四)HTML DOM
JavaScript(四)HTML DOM????DOM(Document Object Model)文档对象模型✨分为三种:Core DOMXML DOM 针对所有文档的标准(父类)HTML DOM:针对HTML文档进行的(子类)✨作用:通过HTML DOM,JavaScript 能够访问和改变HTML文档的所有元素????HTML DOM网页再加载时会形成一个超大型HTML文档,文档呈树状结构✨Dom节点:五类整个HTML文档被称为节点树,其中所有内容都是节点,:整个文档是一个文档
2021-03-19 15:19:24 95
原创 前端:JavaScript(三) BOM对象
????BOM (Browser Object Model):浏览器对象模型,可以与浏览器进行互动的对象结构。????BOM 的 window对象✨frame();//获取所有窗口,数组形式输出document.write(window.frames.length); 输出窗口数量1✨open(); //打开一个窗口<button οnclick=“window.open(‘js.html’,’aa’,’width=“200”,height=“200”)”>打开一个窗口点击这个按钮会
2021-03-19 15:14:45 148
原创 前端:JavaScript(二)
JavaScript中的对象分为3种:内置对象,浏览器对象,自定义对象????内置对象Array(数组)var a =Array(); //创建一个空数组a = new Array(10); //创建一个数组单元为10个的数组a = new Array(10,20,30); //创建一个指定数组单元的数组a4=[‘a’,’b’,’c’,’d’]; //快捷定义数组✨数组遍历的三种方式:1)for(var i =a4.length-1; i>=0; i- -){ //数组倒着遍历
2021-03-19 15:08:37 128
原创 前端:JavaScript (一)
JavaScript(一)编程语言的学习路线:????JavaScript语言是一种客户端语言/脚本语言可以用来操宗html这种标记语言和css样式规则语言,从而实现网页当中动态交互的效果JavaScript无须下载专用软件运行,与CSS一样不能单独运行,必须和html页面绑定运行,嵌入进html网页中????嵌入方式:1.用脚本语言中有报错,内部往后的代码不执行,不影响其他脚本语言代码块执行。2.通过.js文件的形式外部引入,一般在底部,如<script>window.aler
2021-03-19 14:59:05 89
原创 枚举,注解,反射
????枚举的方法 Enum抽象类常见方法????枚举接口????枚举的注意事项????注解注释是标注给人看的,注解是标注给机器看的,可以嵌入到字节码中,Java虚拟机可以保留标注内容,注解可以被执行。注解可以应用在Java语言中的类、方法、变量、参数和包等。注解可以非常方便的生成代码之间的依赖关系。✨内置注解:用框架时候用得多常用内置注解:(可以放在类、方法、变量、参数等前)@Override:重写@Deprecated :废弃 (注解完再定义一个新的方法)@Functional
2021-03-19 14:47:54 165
原创 XML与JSON
????XML与JSON✨XML语言可扩展标记语言(可扩展:可以自定义标签名称,后续写框架时会被命名空间限制)特性:1.XML具有平台无关性,是一门独立的标记语言2.xml具有自我描述性学习xml语言主要用于写配置文件数据传输通常使用JSON,传输速度比XML快很多✨XML文件XML文件是保存XML数据的一种方式????XML语法格式1.自我描述(文档声明)<?xml version = “1.0” encoding=“UTF-8”?>2.标记名称:自定义名称要遵循命
2021-02-23 14:44:30 138
原创 网络编程(服务器与客户端交流)
网络编程????TCP协议 C/S程序:服务器与客户端(B/S是网页与客户端)需要使用两个类,来编写TCP协议的CS程序1.ServerSocket 搭建服务器2.Socket 搭建客户端两方使用socket(套接字,通信端点)进行交接ServerSocket✨构造方法:ServerSocket(int port)…//含义:创建一个基于TCP/IP协议的服务器,并绑定指定的端口号注意:参数port的范围是:0-65535 (建议1025-65535)✨常用方法:Socket acc
2021-02-23 14:40:11 305
原创 多线程(解决线程安全的3方法,Callable,Lambda)
????线程与进程进程是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间。线程是进程中的一个执行路径,共享一个内存空间,一个进程最少有一个线程,是对进程进一步划分✨当进程里面一个线程都没有时,该进程就被关闭了例如:一个QQ音乐进程,拥有听歌显示图片刷评论等多个线程分时调度:为了能让每个线程均分CPU,一千多个线程快速轮流使用CPU的使用权,交替执行,给人造成一个假象好像多个任务同时在进行一样Java使用的调度机制——抢占式调度:哪个线程优先级高就先抢到CPU使用权概率大,优先级可以
2021-02-21 11:19:05 1226
原创 IO流
IO流Java 是一门面向对象的语言,现在Java提供了可以用来操作文件的常用类库,Java中的File 对象表示了计算机中某个文件的类,在java中的文件,如果此文件不存在可以用java中的createNewFile()方法创建一个文件对象,如果文件存在,不要轻易用delete()方法,会直接将文件直接删掉,不会放到回收站里。????创建文件夹和文件public static void main(String[] args){ File haha = new File(“c:\\1.txt”
2021-02-21 11:13:37 421
原创 集合
????Collection 接口子类:list集合 set集合List 接口的对象称为List 集合。存入List集合的内容可以重复,元素有序Set 集合中的数据不可以重复List 的子类:ArrayList 数组:增删慢,查找块✨构造方法:ArrayList(); 构造一个初始为10 的数组ArrayList(int initialCapacity); 构造具有指定初始容量的空列表(如果存储数据大要指定一个大的数组长度,优点是可以减少因频繁扩容而浪费内存ArrayList(
2021-02-21 11:04:48 69
原创 常用类库(泛型,二分查找,Arrays类排序动态扩容,Date日期,String 类)
泛型:泛指某个类型,参数化类型。将类型定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。创建泛型:Public class Person{private int age;private String name;private A data;public static <A> void print(A a){//private static <T> T 方法名(T a,T b) System.out.println(a);}
2021-02-18 01:30:34 91
原创 异常处理
????程序异常 Class Exception :程序在虚拟机中运行,JVM虚拟机发现程序中有不合理的地方,会通过 new一个对象的 方式告诉程序员 程序第几行有异常。如果程序员不管,这个 异常对象 会通过类似于返回的方式返还给JVM虚拟机,这时JVM虚拟机就会中断程序。这时如果我们阻止这个错误对象返回到虚拟机,叫做捕获异常。Erro 错误 ,是程序员解决不了的问题,比如内存溢出。eception是程序员可以通过代码处理的。他们共同的父类是Throwable.✨捕获异常格式:try{//有可能发
2021-02-18 01:23:13 75
原创 面向对象高级(继承,重写,重载,抽象类,多态接口,内部类,递归)
面向对象高级????继承结构:class 父类 {}class 子类 extends 父类 {super( ); //调用了父类所有的属性和方法}✨super的用法:/*Java的继承机制:Java中只用单继承,多重继承(爷爷,父亲,子),没有多继承(一个孩子多个爹)super:在子类中,Super就表示自动被创建的父类对象,子类创建多少个,就会自动创建多少个父类对象通过super ,可以访问父类的构造方法 调用super 构造方法的代码,必须写在子类构造方法的第一行
2021-02-18 01:16:21 308
原创 Java面向对象进阶——封装,this, static,权限修饰符,代码块
????封装封装的意义在于保护或者防止代码(数据)被我们无意中破坏。保护成员属性,不让类以外的程序直接访问和修改。封装原则:隐藏对象的属性和实现细节,仅对外公开访问方法,并且控制访问级别。⚠️要对所有属性都进行封装,封装以后为其提供set 和 get 方法:public static void main(String[] args){ Pserson p = new Person; p.name = “张三”; p.setAge(-10000);//会显示“年龄不合理…” //p.
2021-02-01 10:55:46 134
原创 Java面向对象基础
面向对象是相对于面向过程来讲的,指的是把 相关的数据和方法组织为一个整体 来看待,从更高的层次来进行建模,更贴近食物的自然运行模式面向对象面向过程,是程序员思想上从自行者到指挥者的转变。结论:面向对象不用关注具体的细节,更关注的是统筹架构的问题。????面向对象三大思想:OOA:面向对象分析OOD:面向对象设计OOP:面向对象程序????面向对象三大特征:封装型:所有的内容对外部不可见继承性:将其他的功能继承下来继续发展多态性:方法的重载本身就是一个多态性的体现????类与对象类必须
2021-02-01 10:31:58 57
原创 Java基础学习——数组(数组的遍历,冒泡排序,二分查找,约瑟夫环)
????数组:概述:数组是相同数据类型的多个数据的容器。创建格式:常用格式1:数据类型[] 数组名称 = new 数据类型[数组长度];int[] ages = new int[10];常用格式2: 数据类型[] 数组名称 = {数组内容1,数组内容2,数组内容3};int[] age2 = {10.11.12};数组的遍历:从下标 index = 0; 打印到 index 的最大值,称为数组的遍历;语法for(index = 0;index<age2;index++){Sys
2021-01-26 21:14:31 148
原创 Java基础语法(二)if,switch,while循环,break, continue语句,图形打印
????接受用户输入:Scanner 类使用:1.导包:import java.util.Scanner;2. 传参:Scanner input = new Scanner(System.in);3.设变量:int i = input.next(); 系统只能接受传入的数字String str1 = input.next(); 系统可以接受字符串类型,空格不被识表结束String str2 = input.nextLine(); 系统可以识别空格,必须使用回车结束????执行结构的概述1
2021-01-26 21:11:34 169
原创 Java基础语法(一)
一、JVM 可以理解成一个可运行Java 字节码的虚拟计算机系统a.它有一个解释器组件,可以实现Java字节码和计算机操作系统之间的通信b.对于不同的运行平台,有不同的JVMJVM屏蔽了底层运行平台的差别,实现了“一次编译,随处运行”。二、垃圾回收器(GC)三、JRE的三项主要功能:加载代码:由类加载器(class loader)完成校验代码:由字节码校验器(byte code verifier)完成;执行代码:由运行时解释器(runtime interpreter)完成;————————
2021-01-26 21:03:41 199
原创 神奇的约瑟夫环问题
下面的选队长游戏,是一道典型的约瑟夫环的问题,跟大家分享一下这道题的解法:今天同学们相约一起爬山游玩,为了更好的进行这场活动,大家准备推举一个人作为出游的临时队长,为了体现合理公平,大家提出了一个比较有趣的规则。所有人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,剩下的人继续报数,最后留下的当选为队长。请通过编写程序,求出一组人中的队长是原来的第几位同学。public class Demo_Captain{public static void main(String[
2021-01-21 21:45:32 259 3
原创 ## Java理论知识积累,持续更新...
理论知识积累,持续更新…1.简述Java语言跨平台原理?Java 跨平台的特性,也就是同一份字节码文件可以在不同的系统上执行, 由不同系统中的Java虚拟机负责翻译成对应的机器指令。2.面向对象封装的理解?什么是封装:封装就是把类中的属性给上不同的访问权限,不允许外界随意修改。为什么封装:保护类中的数据不被破坏。怎么封装:把类中的属性用不同的访问修饰符修饰,给外界提供可以操作的方法。3.重载与重写的区别?重载:1.重载Overload 是一个类中多态性的一种表现2.重载要求同名方法的参数
2021-01-08 22:12:24 126
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人