自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 线程学习五

1.线程池多线程的缺点:1)处理任务的线程创建和销毁都非常耗时并消耗资源2)多线程之间的切换也会非常耗时并消耗资源解决方法,采用线程池1)使用时线程已存在,消除了线程创建的时耗2)通过设置线程数目,防止资源不足1.1ThreadPoolExecutor的全参构造函数参数介绍在Java中创建线程池常用的类是ThreadPoolExecutor,该类的全参构造函数...

2019-11-03 23:05:02 201

原创 线程学习四

1.Lock类1.1Lock接口关系图Lock和ReadWriteLock是两大锁的跟接口Lock接口支持重入,公平等得锁规则:实现类ReentrantLock,ReadLock和WriteLockReadWriteLock接口定义读取者共享而写入者占有的锁,实现类ReentrantReadWriteLock1.2可重入锁不可重入锁,即线程请求它已经拥有的锁时会阻塞...

2019-11-03 15:24:12 317

原创 线程学习三

1.多线程特性多线程编程要保证满足三个特性:原子性,可见性,有序性1.1.原子性原子性,即一个操作或者多个操作,要么全部执行并且执行过程不会被任何因素打断,要么就都不执行1.2可见性可见性是指当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值,显然,对于多线程来说,可见性问题是不存在的1.3有序性有序性即程序执行的顺序按照代码的先后顺...

2019-11-03 12:47:13 214

原创 Java内存模型

1.Java内存模型 Java内存模型是每个Java程序员必须掌握理解的,这是Java的核心基础,对我们编写代码特别是并发编程是有很大帮助,由于Java程序是交由JVM执行的,所以我们在谈到Java内存区域划分的时候实际上是指JVM内存区域划分1.1Java程序执行流程回顾如图所示:首先Java源代码文件(.java后缀)会被Java编译器编译为字节码文件(.class后缀)...

2019-11-03 00:20:07 158

原创 线程学习二

1.线程生命周期1.1新建new关键字创建了一个线程之后,该线程就处于新建状态JVM为线程分配内存,初始化成员变量值1.2就绪当线程对象调用了start()方法之后,线程就处于就绪状态JVM为线程创建方法栈和程序计数器,等待线程调度器调度1.3运行就绪状态的线程获取CPU资源,开始运行run()方法,该线程进入运行状态1.4阻塞当发生如...

2019-11-03 00:03:11 442

原创 多线程学习一

1.什么是并行和并发要想学习多线程,必须先理解什么是并发与并行并行:指两个或多个事件在同一时刻发生(同时发生)并发:指两个或多个事件在同一时间段发生2.什么是进程,线程进程:进程是正在运行的程序的实例,进程是线程的容器,即一个进程中可以开启多个线程。线程:线程是进程内部的一个独立执行单元,一个进程可以同时并发运行多个线程多线程:多个线程并发执行。3.线程...

2019-11-02 19:59:53 205

原创 MySQL存储过程

往表里插入1000w条数据1.建表# 新建库create database bigData;use bigData;#1 建表deptCREATE TABLE dept( id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, deptno MEDIUMINT UNSIGNED NOT NULL DEFAULT 0, dna...

2019-10-18 17:34:34 211

原创 MySQL慢日志

MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10秒以上的语句。由他来查看哪些S...

2019-10-18 17:27:18 264

原创 MySQL索引优化三

1.单表查询优化建表CREATE TABLE IF NOT EXISTS `article` (`id` INT(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,`author_id` INT(10) UNSIGNED NOT NULL,`category_id` INT(10) UNSIGNED NOT NULL,`views...

2019-10-18 17:12:50 167

原创 MySQL索引优化二

1.建表CREATE TABLE staffs ( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR (24) NULL DEFAULT '' COMMENT '姓名', age INT NOT NULL DEFAULT 0 COMMENT '年龄', pos VARCHAR (20) NOT NULL DEFAULT '' ...

2019-10-18 16:51:17 242

原创 MySQL索引优化一

1.Explain使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是 如何处理你的SQL语句的。分析你的查询语句或是表结构的性能瓶颈能做什么:1.表的读取顺序2.哪些索引可以使用3.数据读取操作的操作类型4.哪些索引被实际使用5.表之间的引用6.每张表有多少行被优化器查询使用:Explain + SQL语句执行计划包含的信息:...

2019-10-18 16:34:07 268

原创 MySQL索引

MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。 可以得到索引的本质:索引是数据结构。索引的目的在于提高查询效率,可以类比字典,如果要查“mysql”这个单词,我们肯定需要定位到m字母,然后从下往下找到y字母,再找到剩下的sql。如果没有索引,那么你可能需要a----z,如果我想找到Java开头的单词呢?或者Oracle开头的单词呢?...

2019-10-18 15:47:54 152

原创 MySQL七种join

建表语句:CREATE TABLE `t_dept` (`id` INT(11) NOT NULL AUTO_INCREMENT,`deptName` VARCHAR(30) DEFAULT NULL,`address` VARCHAR(40) DEFAULT NULL,PRIMARY KEY (`id`)) ENGINE=INNODB AUTO_INCREMENT=1 DE...

2019-10-18 15:25:38 113

原创 MySQL学习

在MySQL执行安装命令之前,先执行查询命令:rpm -qa|grep mysql如果存在mysql-libs的旧版本包如下:请先执行卸载命令:rpm -e --nodeps mysql-libs在Linux下查看安装目录: ps -ef|grep mysql修改数据库的字符集mysql> alter database mytest character set '...

2019-09-30 23:28:06 135

原创 BigDecimal转String

public static void main(String[] args) { // 浮点数的打印 System.out.println(new BigDecimal("10000000000").toString()); // 普通的数字字符串 System.out.println(new BigDecimal("100.0...

2019-09-11 12:07:44 564

原创 Java面试知识整理

1.Java基础string和stringbuffer,stringbuffer和stringbudiler区别string数值内容是不可变的,stringbuffer数值内容是可变的,stringbuffer线程是非安全的,stringbudiler线程是安全的int和integer区别int是java提供的原始数据类型,integer是java为int提供的封装数据类型,...

2019-09-09 16:50:51 176

原创 spring框架

1、谈谈你对Spring的理解?Spring是一个开源框架,为简化企业级应用开发而生。Spring可以是使简单的JavaBean实现以前只有EJB才能实现的功能。Spring是一个IOC和AOP容器框架。Spring容器的主要核心是:控制反转(IOC),传统的java开发模式中,当需要一个对象时,我们会自己使用new或者getInstance等直接或者间接调用构造方法创建一个对象。而在...

2019-09-06 16:09:11 508

原创 springmvc

1、SpringMVC的工作原理?用户向服务器发送请求,请求被springMVC前端控制器DispatchServlet捕获; DispatcherServle对请求URL进行解析,得到请求资源标识符(URL),然后根据该URL调用HandlerMapping将请求映射到处理器HandlerExcutionChain; DispatchServlet根据获得Handler选择一个合适的Ha...

2019-09-06 16:06:31 103

原创 springcloud和dubbo的区别

最大区别:SpringCloud抛弃了Dubbo的RPC通信,采用的是基于HTTP的REST方式。严格来说,这两种方式各有优劣。虽然从一定程度上来说,后者牺牲了服务调用的性能,但也避免了上面提到的原生RPC带来的问题。而且REST相比RPC更为灵活,服务提供方和调用方的依赖只依靠一纸契约,不存在代码级别的强依赖,这在强调快速演化的微服务环境下,显得更加合适。品牌机与组装机的区别很明...

2019-09-04 16:19:42 335

原创 微服务和微服务架构

微服务强调的是服务的大小,它关注的是某一个点,是具体解决某一个问题/提供落地对应服务的一个服务应用,狭意的看,可以看作Eclipse里面的一个个微服务工程/或者Module微服务架构是⼀种架构模式,它提倡将单⼀应⽤程序划分成⼀组⼩的服务,服务之间互相协调、互相配合,为⽤户提供最终价值。每个服务运⾏在其独⽴的进程中,服务与服务间采⽤轻量级的通信机制互相协作(通常是基于HTTP协议的RES...

2019-09-04 16:16:54 108

原创 微服务的优缺点

优点每个服务足够内聚,足够小,代码容易理解这样能聚焦一个指定的业务功能或业务需求开发简单、开发效率提高,一个服务可能就是专一的只干一件事。微服务能够被小团队单独开发,这个小团队是2到5人的开发人员组成。微服务是松耦合的,是有功能意义的服务,无论是在开发阶段或部署阶段都是独立的。微服务能使用不同的语言开发。易于和第三方集成,微服务允许容易且灵活的方式集成自动部署,通过持续集成...

2019-09-04 16:15:56 100

原创 用户无状态登陆

1.无状态登录原理1.1.什么是有状态?有状态服务,即服务端需要记录每次会话的客户端信息,从而识别客户端身份,根据用户身份进行请求的处理,典型的设计如tomcat中的session。例如登录:用户登录后,我们把登录者的信息保存在服务端session中,并且给用户一个cookie值,记录对应的session。然后下次请求,用户携带cookie值来,我们就能识别到对应session,从而找...

2019-08-30 10:15:02 561

原创 获取三级分类

1.分类的实体类@Table(name = "tb_category")@Datapublic class Category { @Id @KeySql(useGeneratedKeys = true) private Long id; private String name; private Long parentId; priv...

2019-08-24 09:42:43 1005

原创 RabbitMQ

1.什么时候使用rabbitMQ呢? 比如:.我们在做商品详情和搜索系统的开发的时候: 商品的原始数据保存在数据库中,增删改查都在数据库中完成。 搜索服务数据来源是索引库,如果数据库商品发生变化,索引库数据不能及时更新。 商品详情做了页面静态化,静态页面数据也不会随着数据库商品发生变化。 如果我们在后台修改了商品的价格,搜索页面和商品详情页显示的依然是旧的...

2019-08-15 11:39:59 239

原创 搭建springboot+springcloud+mybatis+redis+rabbitmq项目框架

1.1创建父工程创建统一的父工程:cloud,用来管理依赖及其版本,注意是创建project,而不是moudle填写项目信息:注意:父工程不需要代码,只是管理依赖,因此我们不选择任何SpringCloud的依赖跳过依赖选择。填写保存的位置信息:然后将pom文件修改成我这个样子:<?xml version="1.0" encoding="...

2019-08-12 23:45:39 3331 4

原创 初识springcloud

1.初始SpringCloud微服务是一种架构方式,最终肯定需要技术架构去实施。微服务的实现方式很多,但是最火的莫过于Spring Cloud了。为什么? 后台硬:作为Spring家族的一员,有整个Spring全家桶靠山,背景十分强大。 技术强:Spring作为Java领域的前辈,可以说是功力深厚。有强力的技术团队支撑,一般人还真比不了 群众基础好:可以说大多数程...

2019-07-30 15:43:38 377

原创 系统架构的演变

1.系统架构演变随着互联网的发展,网站应用的规模不断扩大。需求的激增,带来的是技术上的压力。系统架构也因此也不断的演进、升级、迭代。从单一应用,到垂直拆分,到分布式服务,到SOA,以及现在火热的微服务架构,还有在Google带领下来势汹涌的Service Mesh。我们到底是该乘坐微服务的船只驶向远方,还是偏安一隅得过且过?其实生活不止眼前的苟且,还有诗和远方。所以我们今天就回顾历史,看一...

2019-07-30 12:01:25 346

原创 从源码学习springboot

1. 了解SpringBoot在这一部分,我们主要了解以下3个问题: 什么是SpringBoot 为什么要学习SpringBoot SpringBoot的特点 1.1.什么是SpringBootSpringBoot是Spring项目中的一个子工程,与我们所熟知的Spring-framework 同属于spring的产品:我们可以看到下面的一段介绍...

2019-07-29 18:43:41 147

原创 安装kibana

什么是Kibana?Kibana是一个基于Node.js的Elasticsearch索引库数据统计工具,可以利用Elasticsearch的聚合功能,生成各种图表,如柱形图,线状图,饼图等。而且还提供了操作Elasticsearch索引数据的控制台,并且提供了一定的API提示,非常有利于我们学习Elasticsearch的语法。因为Kibana依赖于node,我们的虚拟机没有安装nod...

2019-07-15 12:25:16 180

原创 Linux安装elasticsearch

elasticsearch下载:Elasticsearch官网:https://www.elastic.co/cn/products/elasticsearch我本次安装的是6.3.0版本的,安装需要虚拟机JDK1.8及以上出于安全考虑,elasticsearch默认不允许以root账号运行。创建用户:useradd inove设置密码passwd inove...

2019-07-14 01:09:43 246

空空如也

空空如也

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

TA关注的人

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