JAVA
文章平均质量分 92
cheerful_man
这个作者很懒,什么都没留下…
展开
-
布隆过滤器简单实现 --- Java 版
布隆过滤器,简单来说就是判断是否存在,可以应用于爬虫项目中判断是否存在该url,还有Redis缓存穿透中,做布隆过滤器校验等等布隆过滤器是如何判断的呢?假设现在来了一个元素1,你要判断他否存在集合中,看图及文字:我们有{x,y,z}假设这是三个哈希函数,实际上可以更多,我将这个元素1进行三个哈希函数转化得到三个下标值,假设为{3,18,234};那么我们将布隆过滤器这三个集合的下标为{3,18,234}的值设为1(其实这个集合是位为单位占1/8个字节,也就是只有0和1,1代表存在,0代表不存在)原创 2020-12-09 17:21:04 · 428 阅读 · 2 评论 -
IO和NIO
BIOBIO编程流程: Socket —> read/write ---- Thread服务端启动ServerSocket客户端启动Socket进行通信,默认情况下服务端需要对每个客户端建立一个线程通讯客户端发出请求后先咨询服务器是否有线程响应,没有则等待或者拒绝如果有响应,客户端线程等待请求结束,再继续执行;Demo:public class BIOServer { public static void main(String[] args) throws IOExcept原创 2020-08-24 09:53:04 · 761 阅读 · 1 评论 -
Github搜索如何使用?
Github使用常用词watch:会持续收到该项目的动态fork:复制某个仓库到自己的Github仓库中star:点赞clone:将项目下载至本地follow:关注如何搜索in关键词公式:XXX关键字 in:name 或 description 或 readmexxx in:name 项目名称含有XXX的xxx in:description 项目描述含有XXX的xxx in:readme 项目的readme文件中包含XXX的组合使用xxx in:name,readme原创 2020-08-20 10:09:55 · 422 阅读 · 0 评论 -
Java内存溢出OOM
Java内存溢出OOM常见JavaOOMStackOverflowError: 栈溢出Java heap space : 堆溢出架构OutOfMemoryError和StackOverflowError是属于Error,不是Exception,即使有时候我们口语化:报栈溢出异常了;StackoverFlowError栈溢出很简单,我们只要不断的调用函数递归,没有出口即可爆栈;一般栈大小为 512K ~ 1024K;/** * @title: StackoverFlowTest原创 2020-08-19 11:45:34 · 917 阅读 · 0 评论 -
基本的JVM参数你了解多少?
JVM参数调优JVM参数查看通过jps 和 jinfo进行查看-Xms: 初始堆空间 ---- 等价于 -XX:InitialHeapSize-Xmx: 堆最大值 ---- 等价于 -XX:MaxHeapSize-Xss: 栈空间 ---- 等价于 -XX:ThreadStackSize-Xms 和 -Xmx最好调整一致,防止JVM频繁进行收集和回收JVM参数类型标配参数-version — java -version (查看Java版本)-help ----原创 2020-08-17 11:27:08 · 364 阅读 · 0 评论 -
第一次如何记住繁杂的垃圾收集器
第一次如何记住繁杂的垃圾收集器首先在学习垃圾收集器之前,你一定要知道JVM内存模型和常见的垃圾回收算法。连线代表相互之间可以配合使用,G1则在新生代和老年代都使用;简单介绍垃圾收集器可以分为串行(Ser)、并行(par)、**响应时间优先(CMS)**来记。年轻代:最早出现的是单线程的 — > Serial并行的 ----- > ParNew吞吐量优先的(不关注单次GC时间) ----- > Parallel Scavenge(一般客户端)老年代:Seria原创 2020-08-03 20:57:51 · 330 阅读 · 0 评论 -
Class
ClassRTTI(RunTime Type Information,运行时类型信息)能够在程序运行时发现和使用类型信息Java 是如何在运行时识别对象和类信息的。主要有两种方式:“传统的” RTTI:假定我们在编译时已经知道了所有的类型;“反射”机制:允许我们在运行时发现和使用类的信息。实际上,Class 对象就是用来创建该类所有"常规"对象的。Java 使用 Class 对象来实现 RTTI,即便是类型转换这样的操作都是用 Class 对象实现的。构造器也是类的静态方法,虽然构造器前原创 2020-07-27 20:58:52 · 90 阅读 · 0 评论 -
谈谈抽象类和接口
接口和抽象类抽象类的特点抽象类只是规定这个类“是什么”,具体的实现暂不确定,因此不允许直接创建实例。抽象类是由子类具有相同的一类特征抽象而来,也可以说是其基类或者父类其抽象方法必须为public或者protected或者default(如果是private则子类无法实现该方法,那意义何在?),缺省的情况下默认为public抽象类不能用来创建对象抽象方法必须由子类来实现如果一个类继承于一个抽象类,则子类必须实现父类的抽象方法,如果子类没有实现父类的抽象方法,则必须将子类也定义为抽象类抽象类还原创 2020-07-27 20:55:50 · 79 阅读 · 0 评论 -
MySQL大体架构
Mysql存储引擎咸鱼太久,今天回顾一下下Mysql的一些知识;mysql的架构在Mysql中客户端是不能执行sql语句的,它要交给服务端,而服务的分为sql语句整体流程用户通过Navicat等客户端与服务器建立链接,就会进行用户名密码认证,或者SSL认证登录后,Mysql会根据角色判断对应表的权限当用户发送一条sql语句后,MySQL会先查询缓存,如果有则返回,没有则进行下面操作。update,insert,delete则不经过缓存MySQL进行解析,校验,再对解析树进行查询优化,生成原创 2020-07-01 15:52:21 · 193 阅读 · 0 评论 -
sql新手练习 30题
sql 训练 1 ~ 40 题建表首先,创建表咯。一共有4张表。分别是学生表,课程表,教师表,成绩表 。学生表Student4个字段,SId(学生ID),Sname(学生姓名),Sage(学生年龄),Ssex(学生性别)create table Student(SId varchar(10),Sname varchar(10),Sage datetime,Ssex varchar(10),PRIMARY key(SId));insert into Student values('01'原创 2020-06-06 17:41:34 · 589 阅读 · 0 评论 -
红黑树简单学习
红黑树分析红黑树有五个性质:性质1:节点是红色或黑色。性质2:根节点是黑色。性质3: 每个叶节点(NIL节点,空节点)是黑色的。性质4: 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)性质5: 从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。三大核心操作:染色,左旋,右旋插入情况分析:父节点为null,则此节点为root父节点为黑节点,直接插入父节点为红,并且为爷爷节点的左子树,叔叔是红;将爸爸和叔叔染黑,爷爷染红,以爷原创 2020-05-13 21:25:35 · 198 阅读 · 0 评论 -
redis简单学习
RedisNoSQLNoSQL = Not SQL (不仅仅是SQL)泛指非关系型数据库,随着web2.0互联网的诞生!传统的关系数据库很难对付web2.0时代!尤其是超大规模的高并发社区!NoSQL在如今大环境下发展迅速,Redis发展最快,也是必须掌握的技术!很多数据类型的个人信息,社交网络,地理位置。这些数据类型的存储不需要一个固定的格式,不需要多余的操作就可以横向扩展!Map&l...原创 2020-04-24 00:02:19 · 375 阅读 · 0 评论 -
redis简单概要
redis复习补充1、持久化由于redis直接在内存上进行操作,关机后,数据瞬间丢失,利用持久化解决这问题。关于Redis的持久化,主要就两种。AOF:以追加日志的形式进行持久化,实时的写入数据,不会有数据丢失。RDB: 根据自定义配置的save规则进行持久化,有可能在持久化前,服务器宕机,则数据丢失。AOF优缺点优点:数据实时更新,不会产生数据丢失的情况。缺点:当大量的修改操...原创 2020-04-23 23:50:04 · 121 阅读 · 0 评论 -
简单概要数据库原理
数据库原理比如点赞收藏一篇文章,我要对该文章的权重值进行一个增加(增大其流量曝光率,优先显示该文章),所以我们进行点赞收藏,数据库对齐点赞数,收藏数进行累加的同时,我们对权重值也要增加。 也就是说,它们是一起的,如果有异常,我们对其点了赞,赞数已经写到数据库后怕抛出了异常,但是权重值没有增加怎么办?所以我们需要引入事务!什么是事务呢?1 事务(Transaction)一般指计算机想做...原创 2020-04-23 17:56:17 · 154 阅读 · 0 评论 -
juc包简单学习
JUC简单学习并发和并行:并发:几个线程快速交替,轮转时间片;并行:多线程同时执行;线程池;java 默认启动两个线程:GC线程man线程(主线程)线程的状态public static enum State { NEW, //新建状态 RUNNABLE, // 运行状态 BLOCKED, // 阻塞 WAITING, // 等待 TI...原创 2020-04-15 23:29:05 · 240 阅读 · 0 评论 -
Cache缓存
Integer缓存机制Integer缓存大小为-128 ~ 127;在jdk1.5后有自动装箱拆箱机制;Integer a = 3;//等价于Integer a = Integer.valueOf(3); //默认调用int b = a;//默认调用int b = a.IntValue();不知道大家有没有注意到,在ArrayList的方法中有两个重载的方法:remove(i...原创 2020-04-14 13:13:48 · 365 阅读 · 0 评论 -
JVM基础知识简要概括
JVM初探jvm体系结构[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RxnI0Mey-1583463998979)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200305170623614.png)]方法区:存储 static,final,Class,...原创 2020-03-06 11:06:47 · 209 阅读 · 0 评论 -
java并发编程之再学习
java并发基础Callable首先我们来理一理Future和Runable的关系:public class FutureTask<V> implements RunnableFuture<V>public interface RunnableFuture<V> extends Runnable, Future<V> { ...原创 2020-03-04 22:21:29 · 144 阅读 · 0 评论 -
javaIO
JavaIO节点流和处理流分类按节点流和处理流不同的功能分类:节点流:主要是涉及对数据的读写处理流:是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读写。如BufferedReader处理流的构造方法总是要带一个其他的流对象做参数。一个流对象经过其他流的多次包装,称为流的链接[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZfA1nx8U...原创 2020-03-02 18:10:56 · 124 阅读 · 0 评论 -
springboot简略
hello worldpom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocati...原创 2020-02-24 12:50:28 · 95 阅读 · 0 评论 -
spingmvc
springMVC[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OjVMdq6U-1582168579082)(https://blog.kuangstudy.com/usr/uploads/2019/10/1958583181.png)]更改MAVEN的JDK版本为1.8,在pom.xml中添加:<properties> <proj...原创 2020-02-20 11:16:28 · 135 阅读 · 0 评论 -
ssm整合
默认其jdk为1.8配置<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</ar...原创 2020-02-19 15:04:33 · 104 阅读 · 0 评论 -
spring
springSpring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器(框架)。Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式 .核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory ...原创 2020-02-15 15:39:09 · 158 阅读 · 0 评论 -
Class
ClassRTTI(RunTime Type Information,运行时类型信息)能够在程序运行时发现和使用类型信息Java 是如何在运行时识别对象和类信息的。主要有两种方式:“传统的” RTTI:假定我们在编译时已经知道了所有的类型;“反射”机制:允许我们在运行时发现和使用类的信息。实际上,Class 对象就是用来创建该类所有"常规"对象的。Java 使用 Class 对象...原创 2020-02-14 13:15:18 · 69 阅读 · 0 评论 -
Mybatis简略学习
环境搭配<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http...原创 2020-02-12 22:54:39 · 223 阅读 · 1 评论 -
粗略学习SE
cloneprotected Object clone() Creates and returns a copy of this object.protected Object clone() throws CloneNotSupportedException所有类都继承Object,故所有类都有clone()方法。但并不是所有类都希望被克隆,其必须支持Cloneable接口。这个...原创 2020-01-24 17:46:04 · 1722 阅读 · 0 评论 -
mysql学习
MYSQL表:定义数据在表中如何存储,存储怎样的数据,数据如何分解,各部分如何命名等等;模式:描述表的这组信息就是模式;DBMS分为两类:基于共享文件的DBMS和基于客户机-服务器的DBMS。MYSQL语法:distinct:去重,必须在所有列的前面,并且不能多个去重,否则无效; select distinct name, id from tablelimit: 限制返回所...原创 2020-01-12 16:30:10 · 130 阅读 · 0 评论 -
Servlet学习
servlet每一个servlet相当于一个客服,但是不同的客服只能做对应的事情,列如:客服A–只能拉屎,客服B–只能擦pp,当你要做某种事情的时候只能让对应的客服为你服务;有五个方法: public void destroy() { System.out.println("12313"); } @Override public Servlet...原创 2020-01-12 16:29:39 · 127 阅读 · 0 评论 -
jsp学习
JSPjsp的作用Servlet:缺点:不适合设置html的响应体,需要大量的response.getWriter().print("");优点: 动态资源,可以编程html:缺点:html静态页面,不能包含动态信息优点: 不用输出html标签而发愁jsp:(java server pages)优点: 在原有的html基础上添加java脚本,构成jsp页面;...原创 2020-01-12 16:27:09 · 241 阅读 · 0 评论 -
xml学习
xmlxml的约束条件dtd创建一个文件 后缀名 .dtd步骤:1. xml中有几个元素则写几个<!EMEMENT>2. 复杂元素:有子元素的元素<!ELEMENT 元素名 (子元素,子元素)>3. 简单元素<!ELEMENT 元素名 (#PCDATA)>4. 在xml中引入dtd语法<!DCTYPE 根元素名称 SYSTEM "dt...原创 2020-01-12 16:26:29 · 116 阅读 · 0 评论 -
进制转换-java
2-蓝桥杯BASIC-11-十六进制转十进制问题描述从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。样例输入FFFF样例输出65535import java.util.Scanner;public class Main { public static void mai...原创 2020-01-04 20:18:32 · 102 阅读 · 0 评论 -
leetcode-链表-第一周
leetcodeleetcode-141-环形链表题目大意:给定一个链表,判断该链表是存在环;1、快慢指针设定一个快指针,一个慢指针。若有环,且慢指针在环外,快指针出不去,将一直在环中循环,直到慢指针入环,被快指针追上,相遇;若无环,快指针将到达链表尾部;public class Solution { public boolean hasCycle(Lis...原创 2020-01-02 11:16:32 · 113 阅读 · 0 评论 -
生产者消费者简单模型-java
package cn.mldn.demo;public class DeadLock { public static void main(String[] args) { Message msg = new Message(); new Thread(new Producer(msg)).start(); new Thread(new Consumer(msg)).start(...原创 2019-12-08 10:52:12 · 82 阅读 · 0 评论 -
多线程
在多线程中,要调用start()来实现并发;public synchronized void start() { if (threadStatus != 0)//判断是否已经开始 throw new IllegalThreadStateException();//如若开始,重复调用则抛出异常 group.add(this); boolean start...原创 2019-12-07 11:57:12 · 103 阅读 · 0 评论 -
16进制转8进制-蓝桥杯java
问题描述 给定n个十六进制正整数,输出它们对应的八进制数。输入格式 输入的第一行为一个正整数n (1<=n<=10)。 接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式 输出n行,每行为输入对应的八进制正整数。 【注意】 输入的十六进制数不会有前导0,比如012A。 输出的八...原创 2019-12-05 12:09:54 · 204 阅读 · 0 评论 -
java -jar
打包编译 javac -d . *.java此时形成你package 的包,里面有对应的子包和*.class 文件,将其打包为m.jar文件命令:jar -cvf m.jar 你的包package org.demo;public class Message{ public static String getInfo(){ return "人民万岁!"; }}我的包为o...原创 2019-12-03 20:14:17 · 91 阅读 · 0 评论 -
Java-enum类基础学习
枚举的一些特质:枚举类中所有的实例都使用public static final修饰,都只能在枚举类的第一行显示列出,否则这个枚举类永远不能产生实例; 通过private将构造器隐藏起来,构造器省略访问控制符则默认用private; 枚举类默认继承java.lang.Enum,而不是继承Object类,其中java.lang.Enum类实现了java.lang.Serializable和ja...原创 2019-11-17 14:33:14 · 99 阅读 · 0 评论 -
JAVA-final
s1是用直接量赋值, s2是两个字符串连接赋值;由于编译器编译阶段就确定了s2的值 = “疯狂 Java”;所以会让s2指向常量池缓存中的“疯狂 Java”字符串,故s2 == s1;而st3 是不能再编译阶段确定的,故st3不指向缓存中的“疯狂 Java”字符串,故不相等;而定义常量st4,st5时,运行st6 = st4 + st5,st6效果和s2一样,编译器已经让st4和st5...原创 2019-11-15 17:23:54 · 91 阅读 · 0 评论