- 博客(38)
- 收藏
- 关注
原创 缓存穿透,击穿,雪崩
我们为什么要使用缓存技术缓存可以有效的降低数据库压力也可以增强用户体验,我们把需要经常需要访问的数据存储到缓存数据库中下次查询就不需要从数据库中去查询了, redsi性能特别好,具官方的数据读的速度是每秒11万次,写的速度是每秒8.1万次,可以更快的查询数据返回,从而更快的响应,不需要用户过多的等待哪些数据适合存储到缓存数据库中?数据访问频率高:适合缓存修改频率高:不适合缓存数据一致性高:不适合缓存使用缓存技术需要注意什么问题缓存穿透,缓存击穿,雪崩,数据一致性缓存穿透一个key去缓存数据
2020-05-18 00:46:22
311
原创 volatile关键字的作用
volatile关键字的作用volatile怎么用,有什么用保持内存可见性防止指令重排volatile怎么用,有什么用 volatile关键字用与修饰全局变量(类中方法外的变量),放在数据类型前面 例: volatile boolean flag = false; volatile private int a = 1; volatile关键字可以保持内存的可见性与指令重排保持内存可见性什么是保持内存可见性内存可见性:是指当一个线程修改了共享变量的值,其他线程能够
2020-05-10 23:05:39
246
原创 你真的懂i++和++i吗?
大部分老哥看这篇文章前可能都会认为i++先赋值再加 ++i加了再赋值 看了这篇文章后........(先卖个关子)那接下来给老哥上一个题目转存失败...
2020-04-12 01:23:20
404
1
原创 如何解决接口的幂等性
什么叫接口的幂等性?用户请求一次和多次,结果都是一样的,不会因为多次请求而产生副作用为什么要保证幂等性?防止用户在前端不小心重复点击了按钮,如注册接口如未保证幂等性,用户重复点击,则会在数据库插入多条一样的用户数据主要是防止什么?防止同一个接口,相同参数,短时间发生了多次请求什么情况下要考接口虑幂等性问题? 当该接口对数据操作的情况下需要考虑幂等性问题,如增,删,改 可能...
2020-04-03 15:30:09
909
原创 黑客是如何干掉你网站的?
黑客入侵网站一般会先进行信息收集,然后再通过收集来的信息,来进行漏洞探测 信息收集 收集什么信息? 域名注册人信息,后台url,开放端口信息,ip,邮箱,网站目录,旁站等 域名注册人信息可以通过:爱站网,站长工具等网站进行信息收集 后台url可以通过...
2020-03-27 16:50:18
1520
原创 吊打面试官之HashMap
HashMap的底层数据结构是什么? jdk1.7和jdk1.7前使用的是数组,链表 jdk1.8和jdk1.8后使用的是数组,链表,红黑树HashMap...
2020-03-14 15:41:55
1225
原创 JAVA垃圾回收机制
为什么要有垃圾回收机制? java中的垃圾回收机制是方便我们程序员开发,我们只要复制对象的创建而不用管,内存的释放,java虚拟机自动帮我们回收内存。回收哪一些内存? 主要是回收堆里面没有被引用的对象什么时候进行垃圾回收操作?是否可以人工调用方法进行垃圾回收? java堆内存的时候调用垃圾回收机制,可以调用...
2020-02-13 00:27:16
237
原创 mysql索引原理
为什么要使用索引?使用索引有什么优点和缺点? 使用索引是为了使我们查询变得更快。使用索引如果我们对数据进行修改或者删除那么他的索引也要随之改变,所以使用索引就会降低我们修改删除的效率。mysql有几种索引类型? 普通索引:这一类索引可以创建在任何数据类型中,没有限制。 唯一索引:创建该类索引时,需要保证创建索引的那一列...
2020-02-11 15:06:42
120
原创 mySql存储引擎
什么是存储引擎? 将数据以不同的技术存储到内存中,每一种技术叫一种存储引擎。mySql有几种存储引擎(以下以mysql8例)? MyISAM ,innoDB(常用) , Memory, csv ,archivemySql采用哪一种存储引擎为默认存储引擎? mysql采用innoDB为默认存储引擎不同存...
2020-02-09 00:00:27
104
原创 java反射机制
老王:小王呀,听说你酒量不错小王:酒量还行老王:能喝多少小王:白的可以喝一斤吧老王:这酒量不错哦,看你酒量不错,那你就给我来讲一讲java的反射机制吧小王:(懵逼中,我酒量不错和java的反射机制有什么关系)这个...........老王:怎么了,酒量这么好java的反射机制都不知道?小王:好吧老王:你怎么理解反射的?反射有什么作用?小王:我们不使用方式这种方式...
2019-06-09 21:52:21
132
原创 元数据与动态代理
元数据 通过元数据我们可以获得java代码执行的sql语句参数的个数,与参数的类型。也可以通过元数据获得java代码查询数据库得到的参数个数和参数类型。 获取参数元数据 1.通过PrepareStatement的getParameterMetaData的方法获取参数元数据对象ParameterMetaData ...
2018-10-10 11:25:51
359
原创 C3P0连接池与Druid连接池
c3p0连接池使用 搭建环境 导入c3p0的zar包,再引入c3p0配置文件 注意:c3p0配置文件一定要放在src目录下面,而且配置文件的名字一定要为 c3p0-config.xml c3p0连接池需要用到的zar包介绍 ...
2018-09-19 18:14:05
155
原创 jdbc连接数据库
JDBC介绍 jdbc主要用于java代码连接数据库,java代码就可以向数据库发送sql语句,操作数据。 使用Java代码连接数据库的步骤 环境搭建 导入数据库驱动包驱动包(mysql-connector-java-5.1.37-bin.jar) 创建对...
2018-09-16 17:23:44
160
原创 常用sql语句
SQL语句的分类DDL 数据定义语言 DML 数据操作语言 DCL 数据控制语言 TCL 事物控制语言 DQL 数据查询语言 DDL常用语句DLL操作数据库 create database 库名; 创建数据库 create database if not exists 库名; ...
2018-09-15 17:28:54
206
原创 File类与递归(随手笔记,不要认真)
File类介绍 这个类专门用来操作文件和文件夹 File类方法介绍 获取方法String getAbsolutePath() 获取文件或文件夹的绝对路径 String getPath() 获取文件的构造路径 String getName() 获取文件的名字 Long len...
2018-09-09 23:39:23
141
原创 Stream流
Stream流的介绍 String流是jdk1.8的新特性,作用是方便操作集合和数组,可以多个操作连接起来。如何获得Stream流对象 Set集合获取Stream流对象方式和list集合获取的方式一样,双列集合要先获取单列集合才可以获取Stream流对象 public static void main(String[] a...
2018-09-09 15:22:55
141
原创 方法引用以及函数式接口
什么是函数式接口 一个接口里面只有一个抽象方法,那么这个接口就称为函数式接口 @FunctionalInterface注解概述 这个注解是jdk1.8的新特性,用在接口上面,说明这个接口是一个函数式接口,只能有一个抽象方法,如果有多个抽象方法就编译不通过 ...
2018-09-09 02:31:42
524
原创 java异常
什么是异常 在程序中编译或者运行出现的问题称为异常 异常的继承体系 Throwable : 这个是Java中所有异常类型的父类 Error:错误 必须要更改代码才能解决问题 Exception:异常 处理方式有两种,抛出处理,和...
2018-09-07 19:57:52
129
原创 java注解
注解作用 注解可以放在方法上面,类上面,和属性等等.....可以用来传递参数,或者限制某些东西,或者实现某些功能。 自定义注解 格式 修饰符 @interface 注解名{ }...
2018-09-06 15:31:09
196
原创 反射
什么是反射 反射是一种机制,可以在程序运行中根据该类的字节码对象动态的创建该类对象。 程序运行时,Java虚拟机会帮每一个类都创建一个字节码对象,(就是我们创建一个对象可以不用 " new 类名()",这种方式创建,使用其他方式创建) 反射的前提 如果我们想通过反射创建一个类的对象,我们就先要获...
2018-09-04 00:05:18
127
原创 lambda表达式
Lambda表达式介绍 Lambda表达式是JDK1.8的新特性,是用来简化匿名类部类的 Lambda表达式的思想 只关注要干什么,而不是怎么做 也就是我们通过Lambda使用匿名内部类的时候,我们只要写我们的业务逻辑的代码就可以了,不需要再写其他与业务逻辑...
2018-09-03 17:18:38
124
原创 java网络编程之TCP协议
TCP协议的特点 面向连接的协议(有发送端就一定要有接收端) 通过三次连接握手建立连接 通过四次握手断开连接 基于IO流传输数据 传输数据大小没有限制 速度慢但可靠 TCP协议相关的两个类 Socket(...
2018-08-31 18:10:23
169
原创 java网络编程之UDP协议
UDP协议特点 面向无连接协议(只管发送不管对方是否接收到) 基于数据包传输:将要发送的数据,接收端IP地址,端口号打包到一个数据包中发送 传输数据大小限制在64k以内 速度快,但是不可靠(传输中可能会丢失数据) 与网络编程相关的...
2018-08-29 09:50:25
313
原创 线程池
什么是线程池 一个用来建立线程和管理线程的容器对象。 线程池的好处 减少资源的消耗,避免频繁的创建与摧毁线程(因为创建线程需要资源) 提高程序的响应速度 (程序运行速度更加快) 提高线程的可管理性(需要线程的时候不用创建,直接找线程池要) ...
2018-08-25 21:11:46
156
原创 线程之间的相互通信
线程之间的相互通信 在介绍线程相互通信前为大家介绍一下有关线程通信的一些知识 线程的状态(线程的生命周期) 线程的状态 NEW 新建状态,刚刚创建完成还没开启的状态 RUNNABLE 可运行状态,有资格执行,可能在执行中,有可能不是在执行中 BLOCKED 锁阻塞状态,要等待其他线程释放锁对...
2018-08-22 19:48:00
9471
1
原创 线程安全
线程安全 什么是线程安全 两个线程或两个以上的线程在同时操作同一个共享资源时仍然能够得到正确的结果则称为线程安全。 这个解释感觉很难理解我给大家举个栗子吧: 例如两个人在打糍粑一个人用锤子敲打一个人在用手翻动下面的...
2018-08-22 00:25:00
433
原创 线程的创建方式与开启一个线程
线程与进程 在我们学习线程之前先来了解一下关于线程的一些知识 什么是进程 我们经常使用的软件他就是一个进程,一个正在运行的软件就是一个进程。 例如:一个工厂就相当于我们的一个进程。 什么是线程 进程中...
2018-08-19 22:41:33
3309
原创 IO流(2)字符流
字符流 介绍:字符流和字节流的区别就是,字符流是按字符为单位读取的,字节流是按字节为单位读取的,字符流只能读取文本,不能读取文件。字符流比较i聪明,当他读取文本的时候碰见英文就读取一个字节碰见汉字的时候就读取多个字节。 编码表介绍 常用编码表 ...
2018-08-15 16:51:08
222
原创 IO流(1)字节流
IO流 我对io流的理解是,io流其实就是对字节码的读取操作,不同的类对字节码的读取操作不一样而已,总之一句话“万物皆01”,这个是自己的理解,意思就是在电脑上存储的不管是文字还是图片或者视频等等, 都是二进制01。 javaio流的分类(其实在我看来还有一种分法,分为输入流和输出流) 注意:很多人分不清楚输入和输出,其实输...
2018-08-14 23:33:01
254
原创 关于时间的类,Date,SimpleDateFormat,Calendar
Date 概述:Date类是时间日期类,用来获取时间 构造方法 Date date = new Date();//直接输出是英文的日期格式Fri Aug 10 17:06:18 CST 2018 System.out.println(date); //这个参数是设置一个时间,里面为long类型的,是1970到你设定参数的时间...
2018-08-10 18:24:38
492
原创 java工具类,Arrays,Objects,Collections
Arrays数组工具类 常用方法介绍 (以下方法还有其他参数的重载方法,就不一一列出来了,这只是告诉大家方法的作用,其余重载的方法也相差无几) static List<T> asList(T... o) ...
2018-08-10 12:43:51
164
原创 Java面对对象三大特点,继承,封装,多态
继承 什么是继承? 在现有的类的继承上定义一个新的类,现有的类称为父类,新的类称为子类,子类会自动拥有父类的内容。 extends 关键字:表示继承。 继承格式 class 类名 extends 父类名{ ...
2018-08-07 10:10:11
131
原创 java常用集合介绍及应用
java集合体系 Collection(单列集合的最顶层接口)LIst(list接口) 特点 LinkedList 元素可以重复,存储有顺序,查询慢,增删快,线程不安全 ArrayList 元素可以重复,存储有顺序,查询快,增删慢,线程不安全 Vector 已过时,被ArrayList取代 Set (set...
2018-08-03 23:21:44
192
原创 java运算符
三元运算符//a的值为9int a = 4>5 ? 7 :9; 格式 (条件表达式) ?表达式1:表达式2; 如果条件表达式的结果为true,则返回表达式1的的值,如果条件表达式的结果为false则返回表达式2的值 注意 ...
2018-08-03 18:04:49
153
原创 java变量,方法,类,接口,数组的定义格式与注意事项
java变量定义格式: 修饰符 静态关键字 final 数据类型 变量名 ; //修饰符 静态关键字 数据类型 变量名 public static int i ; //定义变量 //final关键字publi...
2018-08-03 12:38:03
1698
原创 JAVA基本数据类型
JAVA基本数据类型 基本数据类型分为四类八种类型 字节 对应包装类 取值范围 注意事项 整型 byte 1 Byte -128~127 short 2 Short -32768 ~ 32767 int 4 Integer...
2018-08-03 02:54:52
263
原创 JAVA环境变量配置
1,安装jdk,并记住jdk的安装位置,jdk安装的文件夹入径最好不要存在中文 *安装的时候会要求你按jre最好安装上,最好安装在jre的文件目录jdk安装在jdk的文件夹下,他们最好要安装在同一个文件夹下 (上次我安装jdk碰见了一个问题,好像是安装jdk和jre的文件夹最好自己创建然后安装的时候现在安装到...
2018-06-17 14:23:48
228
原创 常用DOS命令
cd.. : 退回到上一级目录cd\ : 退回到根目录cd (要进入的文件夹名称): 进入文件夹d:(要切换的盘符名称) : 回车盘符切换cd d:\(要进入的文件夹名称) :进入d盘的文件夹,再切换盘符(d:)才能进入d:\要进入的文件夹名称dir : 列出当前目录下的文件以及文件夹cls : 清除屏幕ipconfig: 查看本机的相关网络配置...
2018-06-17 13:28:51
193
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人