自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (6)
  • 收藏
  • 关注

原创 SpringMVC学习手稿

SpringMVC学习手稿

2022-09-28 02:52:16 117 1

原创 Spring使用手稿

Spring使用手稿

2022-09-26 21:04:33 218

原创 SpringBoot的Web开发

简单功能分析静态资源访问静态资源目录,类路径下: /static,/public,resources,/META-INF/resources原理静态资源映射规则为/**,请求进来先让Controller处理,Controller没有则在静态资源中找通过spring.mvc.static-path-pattern可以给静态资源请求路径加上前缀场景:使登录拦截器跳过静态资源前缀的请求spring.resources.static-locations改变代码中静态资源读取的路径.

2021-09-13 16:52:09 143

原创 JVM学习笔记

B站视频地址Java虚拟机规范/语言规范虚拟机架构模型:基于寄存器:指令少基于栈:指令小而多JVM架构模型:基于栈设计的,原因:跨平台型的考虑,因为不同操作系统的寄存器不同类加载器分两类引导类加载器(Bootstrap Class Loader),C语言实现自定义类加载器(继承自ClassLoader的加载器),Java实现...

2021-09-13 16:49:57 207

原创 SpringBoot2与响应式编程

环境:jdk1.8及以上maven必须3.3+SpringBoot就是整合Spring生态圈的一站式框架,是简化Spring技术栈的快速开发脚手架优点创建独立Spring应用内嵌web服务器自动starter依赖,简化构建配置自动配置Spring以及第三方功能提供生产级别的监控,健康检查及外部化配置无代码生成,无需编写XML缺点版本帝,迭代快,需要时刻关注变化封装太深,内部原理复杂,不容易精通分布式的困难远程调用服务发现负载均衡服务容错配置管理服务监.

2021-07-18 14:06:28 241

原创 并发编程笔记——第七章 Java并发包中并发队列原理剖析

JDK中提供了一系列场景的并发安全队列。总体来说,按照实现方式的不同可分为阻塞队列和非阻塞队列,前者使用锁实现,后者则使用CAS非阻塞算法实现一、ConcurrentLinkedQueue原理探究线程安全的无界非阻塞队列,底层数据结构使用单向链表实现,入队出队操作使用CAS来实现线程安全类图结构原理介绍offer操作:在队列末尾添加元素public boolean offer(E e) { checkNotNull(e); // 构造Node节点,构造函数内部调用uns.

2020-12-07 01:36:17 164

原创 并发编程笔记——第六章 Java并发包中锁原理剖析(二)

一、独占锁ReentrantLock的原理类图结构ReentrantLock使用AQS实现,根据参数决定其内部是否为公平锁,默认是非公平锁。Sync类直接继承自AQS,子类NonfairSync和FairSync分别实现了获取锁的非公平与公平策略这里的state表示线程获取该锁的可重入次数获取锁void lock()方法public void lock() { sync.lock();}先看sync的子类NonfairSync(非公平锁)final void lock(

2020-12-06 21:50:29 129

原创 并发编程笔记——第六章 Java并发包中锁原理剖析

一、LockSupport工具类JDK中的rt.jar包里的LockSupport是个工具类,它的主要作用是挂起和唤醒线程,该工具类是创建锁和其他同步类的基础。LockSupport类与每个使用它的线程都会关联一个许可证,在默认情况下调用LockSupport类的方法的线程是不持有许可证的。LockSupport是使用Unsafe类实现的。主要方法:LockSupport.park():如果调用park方法的线程已经拿到了与LockSupport关联的许可证,则调用LockSupport.par

2020-12-06 01:11:43 1338

原创 并发编程笔记——第五章 Java并发包中并发List源码剖析

一、介绍并发包中的并发List只有CopyOnWriteArrayList,一个线程安全的ArrayList,修改操作是在底层的一个复制的数组(快照)上进行的(即写时复制策略) 每个CopyOnWriteArrayList对象里面有一个array数组对象用来存放具体元素,RenntranLock独占锁对象用来保证同时只有一个线程对array进行修改二、主要方法源码解析围绕以下3点分析何时初始化list,初始化元素个数,大小限制 如何保证线程安全,比如多个线程进行读写时如何保证是线程安全的

2020-12-05 12:04:52 139

原创 并发编程笔记——第四章 Java并发包中原子操作类原理剖析

JUC包提供了一系列的原子性操作类(原理大致相同),这些类都是使用非阻塞算法CAS实现的,相比使用锁实现原子性操作者在性能上有很大提高。一、原子变量操作类AtomicLongpublic class AtomicLong extends Number implements java.io.Serializable { private static final long serialVersionUID = 1927816293512124184L; // (1)获取Unsafe实

2020-12-05 03:27:24 238 1

原创 并发编程笔记——第三章 Java并发包中ThreadLocalRandom类原理剖析

ThreadLocalRandom类:JDK 1.7在JUC包下新增的随机数生成器,你不了Random类在多线程下的缺陷一、Random类及其局限性使用:import java.util.Random;public class RandomTest { public static void main(String[] args) { Random random = new Random(); // 返回0~4的随机数 int i =

2020-12-04 23:00:52 181

原创 并发编程笔记——第二章 并发编程基础二

一、什么是多线程并发编程并发:同一时间段内多个任务同时执行 并行:单位时间内多个任务同时执行单CPU单位时间内只能执行一个任务,多CPU并行不会有切换上下文开销二、Java中的线程安全问题线程安全问题:当多个线程同时读写一个共享资源并且没有任何同步措施时,导致出现脏数据或者其他不可预见的结果 内存可见性问题:Java内存模型规定,将所有的变量都存放在主内存中,当线程使用变量时,会把主内存里的变量复制到自己的工作空间或者叫做工作内存,线程读写变量时操作的是自己工作内存中的变量三、关键字

2020-12-04 01:38:48 217

原创 JVM参数

-XX:RestrictContended 用户类想使用@Contended 注解 -XX:ContendedPaddingWidth 设置@Contended 注解填充变量的宽度

2020-12-04 01:08:24 157

原创 并发编程笔记——第一章 并发编程基础

一、线程的创建与运行 实现Runable接口的run方法,作为Thread的构造参数 继承Thread类,重写run方法(好处:this等价于Thread.curentThread();坏处:java只能单继承) 使用FutureTask方式(好处,可以获取返回结果) 样例3:import javax.swing.*;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionEx

2020-12-03 00:24:30 90

原创 MYSQL 后台命令及参数

状态show status like '参数';table_locks_immediate:产生表级锁定的次数; table_locks_waited:出现表级锁定争用而发生等待的次数; max_used_connections:响应连接数参数show variables like '参数';innodb_page_size:InnoDB读取页大小max_connections:最大连接数datadir:存储位置所有连接show fu...

2020-09-13 00:01:23 286

原创 Linux上 MySQL5.6安装

MySQL5.6安装查看MySQL软件rpm -qa|grep mysqlyum repolist all | grep mysql卸载MySQLyum remove -y mysql mysql-libs mysql-common #卸载mysqlrm -rf /var/lib/mysql #删除mysql下的数据文件rm -rf /etc/my.cnf #删除mysql配置文件yum remove -y mysql-community-release-el6-5.noarch

2020-06-21 11:21:51 259

原创 MySQL解析顺序

SQL解析顺序接下来再走一步,让我们看看一条SQL语句的前世今生。首先看一下示例语句:SELECT DISTINCT < select_list >FROM < left_table > < join_type >JOIN < right_table >ON < join_condition >WHERE < where_condition >GROUP BY < group_.

2020-06-21 10:12:17 295

原创 MySQL多表关联查询

多表关联查询我们已经学会了如何在一张表中读取数据,这是相对简单的,但是在真正的应用中经常需要从多个数据 表中读取数据。本章节我们将向大家介绍如何使用 MySQL的 JOIN在两个或多个表中查询数据。你可以在 SELECT, UPDATE和 DELETE语句中使用 MySQL的 JOIN来联合多表查询。JOIN按照功能大致分为如下三类:CROSS JOIN(交叉连接) INNER JOIN(内连接或等值连接)。 OUTER JOIN(外连接)交叉连接关键字:CROSS JOIN

2020-06-21 10:11:16 186

原创 MySQL多表之间的关系

多表之间的关系如上图所示,实际业务数据库中的表之间都是有关系的,我们接下来主要要学习的就是如何分析表关系 及建立表关系。1.分类表create table category( cid varchar(32) primary key, cname varchar(100));2.商品表create table product( pid varchar(32) primary key, pname varchar(40), price doub

2020-06-21 10:09:57 438

原创 redis远程连接失败,报连接超时redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutExce

确认ip端口没错,那么可能是redis配置禁止远程连接,或者linux没有开启该端口一、redis.conf配置# bind 127.0.0.1 这个需要注释掉protected-mode no二、开启端口(假设端口为6379)检查端口是否开启firewall-cmd --query-port=6379/tcp没有则需要开启firewall-cmd --zone=public --add-port=6379/tcp --permanent打印success则为成功..

2020-06-07 22:44:47 6212 1

原创 mysql建表设置中文编码

在末尾添加character set = utf8;create table user( id int, username varchar(20), birthday date, sex varchar(1), address varchar(40))character set = utf8;

2020-05-04 23:45:00 1944

原创 MySQL入门

now()函数获取当前时间使用STR_TO_DATE函数insert into user values(1,'张三',STR_TO_DATE('1992-04-12',"%Y-%m-%d"),'M','北京市朝阳区')

2020-05-04 23:44:10 189

原创 执行cmd脚本时隐藏命令窗口

创建.vbs文件,输入如下代码Set ws = CreateObject("Wscript.Shell")ws.run "cmd /c命令",vbhide

2020-05-04 23:05:17 1300

baoshiyunjiemi

baoshiyunjiemi

2022-04-20

zuchengyuanli.zip

计算机组成原理考研材料

2021-11-26

jisuanjiwangluo.zip

计算机网络考研资料

2021-11-25

计算机考研考研408 四门课程

计算机考研考研408 四门课程

2021-10-29

Think in java(中文版)优质排版

Think in Java(美)Bruce Eckel 著 陈昊鹏 译 引言 同人类任何语言一样,Java为我们提供了一种表达思想的方式。如操作得当,同其他方式相 比,随着问题变得愈大和愈复杂,这种表达方式的方便性和灵活性会显露无遗。 不可将Java简单想象成一系列特性的集合;如孤立地看,有些特性是没有任何意义的。只有 在考虑“设计”、而非考虑简单的编码时,才可真正体会到Java的强大。为了按这种方式理解 Java,首先必须掌握它与编程的一些基本概念。本书讨论了编程问题、它们为何会成为问题 以及Java用以解决它们的方法。所以,我对每一章的解释都建立在如何用语言解决一种特定 类型的问题基础上。按这种方式,我希望引导您一步一步地进入Java的世界,使其最终成为 您最自然的一种语言。 贯穿本书,我试图在您的大脑里建立一个模型——或者说一个“知识结构”。这样可加深对语言 的理解。若遇到难解之处,应学会把它填入这个模型的对应地方,然后自行演绎出答案。事 实上,学习任何语言时,脑海里有一个现成的知识结构往往会起到事半功倍的效果。

2019-03-03

空空如也

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

TA关注的人

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