自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

J-Proton博客

你看你ma呢

  • 博客(132)
  • 资源 (1)
  • 收藏
  • 关注

原创 Java 生产者消费者及手撕源码 (jdk阻塞队列写法)

import java.text.SimpleDateFormat;import java.time.LocalDate;import java.time.LocalDateTime;import java.time.format.DateTimeFormatter;import java.util.Arrays;import java.util.Date;import java.util.concurrent.ArrayBlockingQueue;import java.util.concu

2020-07-06 15:12:27 235

原创 Java 多线程 详解

前言:并发和并行并发指的是在同一时刻只能有一个进程运行,但多个进程可以来回迅速切换,使得在宏观上具有多个进程同时运行的效果,而并行是同一时刻有多条指令在多个处理器上同时执行。线程和进程线程也叫轻量级进程,线程是进程的组成部分,一个进程可以拥有多个线程,一个线程必须有一个父进程,线程共享父进程的所有资源线程是独立运行的,不知道有其他线程运行,执行是抢占式的。线程的调度和管理由进程本身完成...

2019-11-01 21:30:49 216

原创 【无标题】

生效日期:2022.01.01BeatStars Inc.(“BeatStars”、“我们”、“我们”或“我们的”)运营 loopspace.com 网站、loopspace移动应用程序和其他相关网站和应用程序(“服务”)。下面列出的是管理服务的条款和条件,这些条款和条件可能会不时扩展或更改。如本文所用,术语“您”或“您的”是指个人,代表您自己,或者,如果适用,作为团体、商业实体或公司的法定代表。网站上包含的信息、艺术品、文本、视频、音频、图片、软件和其他知识产权(统称为“素材”)受版权法和国际法保护。您

2022-12-04 23:25:00 204 1

原创 nginx设置路径转发到本地后端服务

目的:需要在我的nginx服务器上部署一个后端应用,服务器可实现域名加不同的path来访问我后端的不同接口。www.xxx.club/api/(path)−>localhost:5200/(path) -> localhost:5200/(path)−>localhost:5200/(path)我的服务器默认的域名就在80端口nginx配置如下注意proxy_pass后面的/一定要加,不加会有问题。location的前后两个斜杠也一定要加。本地测试功能最好用无痕浏览器,不然谷歌浏览器会因为缓存给你

2022-06-27 16:36:24 1885

原创 netty4

JAVA NIO这里有三件宝贝:buffer,selector,channel先来说说buffer简介:在传统的面向流操作时,所有的数据都是直接传入stream对象中进行操作的,而面向缓冲区的nio是对缓冲区操作的,无论读取还是写入,缓冲区就是buffer,所有的基本类型都有对应的buffer类,所有缓冲buffer类都继承buffer原理:buffer就是一个数组实现的,有三个变量对这个数组的读入和写入控制———— position,limit,capacity。position默认是0,l

2021-02-24 10:32:50 211 2

转载 java知识点

Java开发一轮复习一、网络篇1、OSI七层模型与TCP/IP 五层模型​ OSI七层:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层​ TCP/IP五层:物理层、数据链路层、网络层、传输层、应用层2、常见应用层协议和运输层、网络层协议,以及硬件如路由器之类在哪一层​ 应用层:HTTP、SMTP、DNS、FTP​ 传输层:TCP 、UDP​ 网络层:ICMP 、IP、路由器、防火墙​ 数据链路层:网卡、网桥、交换机​ 物理层:中继器、集线器3、TCP与UDP区

2020-08-20 09:41:09 774

原创 IO模型总结

什么是同步异步阻塞非阻塞同步异步同步和异步体现的是消息通知这个机制同步:1 两个任务依次执行,前者的成功与否关系到后者,后者依赖于前者,要么同时成功要么同时失败,是一个可靠的任务序列2 当一个同步调用发出后,调用者要一直等待返回消息(结果)通知后,才能进行后续的执行;异步:1 不同任务的执行相互不产生依赖,任务被调用者调用后不会立马返回,在任务完成后会调用回调函数,通知给调用者,是一个不可靠的任务队列举例拿去银行排队办理业务来举例同步:在人后面排队,只有前面人都办完了,到你了,你就

2020-07-24 11:26:27 157

原创 Java生产者消费者condition实现

import java.util.ArrayList;import java.util.LinkedList;import java.util.Queue;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class BlockingQueue { public

2020-07-06 18:15:10 911

原创 mybatis XML开发 插件一键生成配置

mybatis XML开发 插件一键生成配置pom文件: <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.2</version>

2020-06-24 12:50:57 440

原创 万能集合判空防npe 类

import java.math.BigDecimal;import java.util.Collection;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Optional;import java.util.Set;import java.util.function.Consumer;import org.apache.commons.collections4.C

2020-05-20 16:46:06 188

原创 弱智题: 三个线程轮流打印ABC

import java.util.concurrent.locks.ReentrantLock;public class PrintABC { public static final ReentrantLock lock = new ReentrantLock(); public static char cnt = 'A'; public static int time...

2020-03-22 11:07:43 184

原创 计算机网络知识点

计算机网络的层次结构层次结构设计的基本原则要解决许多不同的问题:比如保证数据通畅识别目的计算机目的计算机的状态数据是否错误要解决这些问题就要分层实现原则各层是相互独立的、每一层有足够的灵活性各层之间完全解耦OSI七层模型应用层: 为计算机用户提供接口和服务表示层 : 数据处理(编码解码,加密解密等)会话层:管理(建立、维护、重连)通信会话传输...

2020-02-20 09:54:07 169

原创 Mysql MVCC总结

MVCC是不加锁实现多个事务对数据库的并发访问浅显原理:在每一行除了本来的数据外附加了两列,一列是创建行时的版本号ID一列是删除时的版本号IDidnamecreate-versiondelete-version1tom如果现在事务ID为1的事务插入了一行数据就会有idnamecreate-versiondelete-version...

2020-02-15 22:16:50 202

原创 操作系统概论

操作系统作业管理之进程调度就绪队列:排队机制:选择运行进程的委派机制 :新老进程的上下文委派机制:老进程如果没处理完就要非抢占式调度:处理器一旦分配给某个进程,就让进程一直使用下去调度程序不以任何原因抢占正在被使用的处理器只有进程走完了或IO阻塞才会让出处理器抢占式调度:允许调度程序以一定的策略暂停当前运行的进程保存好旧进程的上下文信息,分配处理器给新进程抢占式调度:频...

2020-02-03 12:24:03 213

原创 Java 虚拟机 垃圾回收

如何判断对象已是垃圾引用计数法引用计数法实现简单,判定效率也很高,但是JAVA虚拟机并没有用引用计数法来判断对象是否存活原理:给对象中添加一个引用计数器,每当一个地方引用他的时候,计数器的值就加一,当引用失效时就减一,任何时刻计数器为0时对象就是不可能被使用的。缺点:对于两个互相引用的对象无法当做垃圾收集,虽然他们再无任何引用。可达性分析算法原理:通过一系列的称为“GC Roots”...

2019-12-16 19:52:16 127

原创 Java JVM 内存溢出Oom

Java 虚拟机的默认内存分配:-Xms 设置初始化默认内存,初始默认为物理内存的1/64-Xmx最大分配内存,初始为物理内存的1/4验证:本机的实际内存为16G:public class Test { public static void main(String[] args) { long maxMemory = Runtime.getRuntime().ma...

2019-12-07 16:05:49 200

原创 java JVM 对象与内存

对象的创建一 判断是否需要类加载虚拟机遇到new 指令时,先去常量池中检查有没有这个类的符号引用,并且检查这个符号引用代表的类是否已被加载,解析和初始化过。如果没有,必须先执行类加载过程二 对象内存的分配在确定了对象的空间大小之后,为对象分配空间的任务等同于把一块确定大小的内存从Java堆中划分出来。分配的方法有两种,取决于Java堆所采用的垃圾收集器是否带有压缩整理。如果用Seria...

2019-12-05 22:32:46 163

原创 java JVM 系统架构

类加载器这里写过:https://blog.csdn.net/qq_30519765/article/details/102990891本地方法接口本地方法接口的作用是融合不同的编程语言为java所用,因为当一些功能必须调用c++本地方法是,所以就在内存中专门开辟出一块区域处理标记为native的代码...

2019-12-04 21:08:09 125

原创 矩阵中的路径

**请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。注意:输入的路径不为空;所有出现的字符均为大写英文字母;样例matrix=[[“A”,“B”,“C”,“E”],[“S”,“F”,“C”,“S”...

2019-12-02 19:44:04 118

原创 JAVA并发之阻塞队列

一.BlockingQueue:BlockingQueue是java.util.concurrent包下的一个队列类,从1.5开始,用于解决高并发环境中的队列应用,主要是生产者消费者问题支持两个附加操作的Queue,这两个操作是获取元素时等待队列变为非空,以及存储元素时等待空间变得可用。也就是: 阻塞添加:当队列满了之后又有元素想要添加进来,添加元素的线程会被阻塞,直到队列非满之...

2019-12-01 21:18:56 152

原创 非递归实现二叉树的中序遍历

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { pu...

2019-11-30 20:07:37 160 4

原创 Java并发编程 - CAS 底层剖析

Java并发编程 - CAS 底层剖析由volatile关键字可知,他可以保证JMM内存模型的可见性和有序性(禁止指令重排序)但是不能保证原子性,导致线程安全问题,我们可以加synchronized关键字来解决但是对于有些业务来说,synchronized太重了开销太大,所以我们可以用JUC包下的原子操作系列Atomic操作类,提供了操作的原子性。在底层的实现原理还是CAS。CAS:...

2019-11-19 12:07:35 199 2

原创 Java 异常处理总结

Java异常类层次结构图:Error: 是程序无法处理的错误,大部分与代码编写者无关,是jvm内部的运行错误,比如OutofMemoryError。Exception: 是程序可以处理的错误异常还分为可查异常和不可查异常:可查异常:编译器必须要求处理的异常,出了RuntimeException及其子类之外的都属于可查异常,他们的发生是可预计的,是提前用编译器可以检查出来的,如果发现有这...

2019-11-14 21:26:24 107

原创 synchronized 详细介绍 及底层实现

synchronized 详细介绍 及底层实现synchronized 关键字有三种用法:修饰实例的方法,给当前类的实例加锁,在运行同步代码块时先要得到当前实例的锁 修饰静态的方法,修饰静态方法就是给当前class类对象加锁,在执行同步代码块之前要先得到这个class的锁 修饰代码块,给局部变量加锁,也可以是实例也可以是类,对给定对象加锁,进入同步代码库前要获得给定对象的锁...

2019-11-12 11:31:14 174

原创 JAVA类加载器总结

一个java类在系统中要面临编译和运行两种过程编译是指将java文件通过javac命令转换为字节码生成 .class文件而运行是将.class文件交给jvm虚拟机运行。类的加载就是运行的初期,jvm加载.class文件,解析生成对应的class对象,并把相关类的信息加载到内存里。jvm是加载类是按需加载,如果得到一个类,经过在自己的class文件中找不到相关的信息,他才会加载类的加载过程...

2019-11-09 20:37:09 220

原创 JAVA Map的详细学习

前言:**Java 自带了各种 Map 类。这些 Map 类可归为三种类型:通用Map,用于在应用程序中管理映射,通常在 java.util 程序包中实现HashMap、Hashtable、Properties、LinkedHashMap、IdentityHashMap、TreeMap、WeakHashMap、ConcurrentHashMap专用Map,通常我们不必亲自创建此类Map,...

2019-10-31 23:03:55 141

原创 Java 集合中 TreeSet的 Comparable 与Comparator两个接口的实现方法

TreeSet 是可排序的集合要实现该集合必须要在类里或者集合构造器中传入 实现比较器接口的方法,否则会报错一共有两种 :Comparable 和 ComparatorComparator在TreeSet的有参构造器中传入自定义的Comparator 实现方法;import java.util.Comparator;public class Mycompaarator impleme...

2019-10-28 22:13:00 234

原创 Java 基础

基本类型是值传递,引用类型是引用传递传递的是自己本身,而String类型是引用类型进行引用传递的时候不会改变,因为String的值是final常量 ,传递与改变的是自己的复制品,与他一样的还有各种基本类型的包装类:{Integer,Character,Byte,Short,Double,Float,Boolean,Long}构造器可以私有,要想实现类方法就得将方法改为静态的方法 public ...

2019-10-22 23:19:29 119

原创 Spring源码解析 自动装配

自动装配; Spring利用依赖注入(DI),完成对IOC容器中中各个组件的依赖关系赋值;1)、@Autowired:自动注入: 1)、默认优先按照类型去容器中找对应的组件:applicationContext.getBean(BookDao.class);找到就赋值 2)、如果找到多个相同类型的组件,再将属性的名称作为组件的id去容器中查找 appli...

2019-10-21 10:57:12 153

原创 Spring 源码解析 @Value

//使用@Value赋值; //1、基本数值 //2、可以写SpEL; #{} //3、可以写${};取出配置文件【properties】中的值(在运行环境变量里面的值) @Value("张三") private String name; @Value("#{20-2}") private Integer age; @Value("${person.nickName}")...

2019-10-21 10:54:06 897 2

原创 Spring源码解析 Bean的生命周期

容器管理bean的生命周期我们可以自定义初始化和销毁方法;容器在bean进行到当前生命周期的时候来调用我们自定义的初始化和销毁方法 //@Scope("prototype") @Bean(initMethod="init",destroyMethod="detory") public Car car(){ return new Car(); }构造(对象创建) 单实例(...

2019-10-21 10:48:07 307

原创 Spring源码解析 利用FactoryBean操作

实现FactoryBean方法来给容器中注册bean:import com.zdj.demo.person.Person4;import org.springframework.beans.factory.FactoryBean;public class PersonFactory implements FactoryBean {//返回一个Person4对象,这个对象会添加到容器中...

2019-10-20 22:12:00 99

原创 Spring源码解析 容器注入 之@Import组件快速注入

@Import@Import[快速给容器中导入一个组件]1)、@Import(要导入到容器中的组件);容器中就会自动注册这个组件,id默认是全类名2)、ImportSelector:返回需要导入的组件的全类名数组;3)、ImportBeanDefinitionRegistrar:手动注册bean到容器中ImportSelector 接口实现的类:public class MyImpor...

2019-10-20 22:00:52 114

原创 Spring源码解析 容器注入 之 @Conditional

@Conditional作用是按一定的规则将bean加入到容器中去@Conditional 可以写在方法上也可以写在类上,后面可以跟数组也可以自己写匹配规则重写 matches方法public class LinuxCondition implements Condition { /** * ConditionContext:判断条件能使用的上下文(环境) * Annotat...

2019-10-20 21:46:40 114

原创 Spring源码解析 容器注入 之@Scope

@Scope的作用域:prototype:多实例的:ioc容器启动并不会去调用方法创建对象放在容器中。每次获取的时候才会调用方法创建对象;singleton:单实例的(默认值):ioc容器启动会调用方法创建对象放到ioc容器中。以后每次获取就是直接从容器(map.get())中拿,request:同一次请求创建一个实例session:同一个session创建一个实例后两者不常用@L...

2019-10-20 21:33:34 144

原创 并查集 模板

一共有n个数,编号是1~n,最开始每个数各自在一个集合中。现在要进行m个操作,操作共有两种:“M a b”,将编号为a和b的两个数所在的集合合并,如果两个数已经在同一个集合中,则忽略这个操作;“Q a b”,询问编号为a和b的两个数是否在同一个集合中;输入格式第一行输入整数n和m。接下来m行,每行包含一个操作指令,指令为“M a b”或“Q a b”中的一种。输出格式对于每个询问指...

2019-10-18 20:37:33 194

原创 KMP 算法模板(背)

#include<iostream>using namespace std;const int N = 100010,M = 10010;char p[M],q[N];int m,n;int ne[N];int main(){ cin>>n>>p + 1>> m>> q + 1; for(int i = 2,...

2019-10-18 19:07:19 95

原创 Spring源码解析 容器注入 之@Componment

添加@Component注解扫描到Spring容器中@Component 是将所有类都添加到容器中@Service @Controller @Repository是将指定功能的类进行扫描1.在Appconfig 中的@ComponentScan 注解是将所有 注解过的类扫描至容器中这个注解后面可以跟几个值用来指明扫描的范围以及要过滤的注解等public @interface Compon...

2019-10-11 11:13:07 577

原创 滑动窗口模板 单调栈

给定一个大小为n≤106n≤106的数组。有一个大小为k的滑动窗口,它从数组的最左边移动到最右边。您只能在窗口中看到k个数字。每次滑动窗口向右移动一个位置。以下是一个例子:该数组为[1 3 -1 -3 5 3 6 7],k为3。窗口位置 最小值 最大值[1 3 -1] -3 5 3 6 7 -1 31 [3 -1 -3] 5 3 6 7 -3 31 3 [-1 -3 5] 3 6...

2019-10-10 16:19:04 125

原创 单调栈模板

#include<iostream>using namespace std;const int N = 100010;int stk[N],tt,n;int main(){ cin>>n; for(int i = 0; i < n;i ++){ int x; cin>>x; while...

2019-10-09 20:15:17 104

32位电调音效

穿越机爱好者福音,让你的电调会唱歌。

2019-03-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除