自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 mysql索引,分库分表,主从同步

1.mysql索引类型索引类型1、B+树索引(O(log(n)))2、hash索引:a 仅仅能满足"=",“IN"和”<=>"查询,不能使用范围查询b 其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引c 只有Memory存储引擎显示支...

2019-09-15 21:48:14 673

原创 java枚举类型

JDK1.5引入了新的类型——枚举。 在JDK1.5之前,我们定义常量都是:public static fianl....(这种方式在现在项目中也很常见) 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。public enum Color { RED,BLANK,YELLOW}public class Test {...

2019-09-15 17:35:38 210

转载 maven的三大生命周期

一、Maven的生命周期Maven的生命周期就是对所有的构建过程进行抽象和统一。包含了项目的清理、初始化、编译、测试、打包、集成测试、验证、部署和站点生成等几乎所有的构建步骤。Maven的生命周期是抽象的,即生命周期不做任何实际的工作,实际任务由插件完成,类似于设计模式中的模板方法。二、三套生命周期Maven有三套相互独立的生命周期,分别是clean、default和si...

2019-09-15 17:06:34 263

原创 java内存占用过高或者cpu占用过高解决

1.top命令Linux命令。可以查看实时的内存或cpu使用情况。进入后按M为按内存占用大小排序。按P为按cpu占用大小排序。通过top命令找到cpu或者内存占用较高的进程的pid2.cpu占用过高2.1 top -H -p [pid] 查看进程中的线程,得到cpu占用高的线程的tid2.2 jstackt [pid] | grep [tid] (tid要转换为16进制...

2019-09-15 16:39:03 1873

原创 解决webpack打包体积过大的问题

项目中引用了vue、vue-router、axios、element-ui、qs等第三方库,导致打包后文件体积过大。1 通过cdn引入第三方库。1.1 在/build/webpack.base.conf.js中,配置externals配置cdn主要利用了externals(外部的)选项,key表示的是包名,即package.json中包的名称,value表示的是包导出的类名。比如说vu...

2019-09-09 15:34:34 3183

原创 java类中各成员的初始化顺序

如果B类继承自A类,那么new B类时,类的初始化顺序:1.父类【静态成员】和【静态代码块】,按在代码中出现的顺序依次执行。2.子类【静态成员】和【静态代码块】,按在代码中出现的顺序依次执行。3.父类的【普通成员变量被普通成员方法赋值】和【构造代码块】,按在代码中出现的顺序依次执行。4.执行父类的构造方法。5.子类的【普通成员变量被普通成员方法赋值】和【构造代码块】,按在代码中出现的顺...

2019-09-07 08:19:06 184

原创 java设计模式

1.设计模式的三大分类设计模式分为三大类:创建型模式:对象实例化的模式,创建型模式用于解耦对象的实例化过程。 结构型模式:通过对多个类和对象进行组合得到复杂结构的类,一般使用继承或者成员变量引用形式来实现。 行为型模式:行为模式不仅表达了对象和类,还表达了他们之间的交互,涉及到了对象和算法的分配。每种设计模式类型包含的设计模式:创建型模式(5种):工厂方法模式,抽象工厂模式,单例...

2019-08-30 20:12:28 164

原创 java类加载机制

Java运行时编译源码(.java)成字节码,由jre运行。jre由java虚拟机实现。JVM分析字节码,后解释并执行。1.类的生命周期加载 :将.class文件从磁盘读到内存 连接 ...

2019-08-20 21:40:07 152

原创 GC算法与垃圾收集器

1.GC简介GC(Garbage Collection):即垃圾回收器,诞生于1960年MIT的Lisp语言,主要是用来回收,释放垃圾占用的空间。java GC泛指java的垃圾回收机制,该机制是java与C/C++的主要区别之一,我们在日常写java代码的时候,一般都不需要编写内存回收或者垃圾清理的代码,也不需要像C/C++那样做类似delete/free的操作。1.1.为...

2019-08-20 21:15:36 180

原创 java内存区域

1.JVM的基本结构JVM由三个主要的子系统构成:类加载子系统 运行时数据区(内存区域) 执行引擎2.五大内存区域从下面这张图可以看出来,Java数据区域分为五大数据区域。这些区域各有各的用途,创建及销毁时间。其中方法区和堆是所有线程共享的,栈,本地方法栈和程序虚拟机则为线程私有的。根据java虚拟机规范,java虚拟机管理的内存将分为下面五大区域。...

2019-08-20 20:16:12 252

原创 java内存模型

1.计算机的内存模型 在多CPU的系统中,每个CPU都有多级缓存,一般分为L1、L2、L3缓存,因为这些缓存的存在,增强了数据的访问性能,也减轻了数据总线上数据传输的压力,同时也带来了很多新的挑战,比如两个CPU同时去操作同一个内存地址,会发生什么? 基于高速缓存的存储交互虽然很好地解决了处理器与内存的速度矛盾,但是也为计算机系统带来更高的复杂度,因为它引入了一个新的问题:缓存...

2019-08-20 15:38:43 227

原创 了解tcp协议

1.简介TCP 作为一种面向有连接的协议,只有在确认通信对端存在时才会发送数据,从而可以控制通信流量的浪费。 根据 TCP 的这些机制,在 IP 这种无连接的网络上也能够实现高可靠性的通信( 主要通过检验和、序列号、确认应答、重发控制、连接管理以及窗口控制等机制实现)。2.TCP报文格式 16位源端口号:16位的源端口中包含初始化通信的端口。源端口和源IP地址的作用是标...

2019-07-31 21:22:48 267

转载 深入浅出 TCP/IP 协议栈

0、物理介质物理介质就是把电脑连接起来的物理手段,常见的有光纤、双绞线,以及无线电波,它决定了电信号(0和1)的传输方式,物理介质的不同决定了电信号的传输带宽、速率、传输距离以及抗干扰性等等。TCP/IP协议栈分为四层,每一层都由特定的协议与对方进行通信,而协议之间的通信最终都要转化为 0 和 1 的电信号,通过物理介质进行传输才能到达对方的电脑,因此物理介质是网络通信的基石。下面我们...

2019-07-31 17:50:28 188

转载 URL、URI和URN三者之间的区别

URI,是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源。Web上可用的每种资源如HTML文档、图像、视频片段、程序等都是一个来URI来定位的URI一般由三部组成:①访问资源的命名机制②存放资源的主机名③资源自身的名称,由路径表示,着重强调于资源。URL是uniform resource locator,统一资源定位器,它是一...

2019-07-30 17:11:42 326

原创 http协议解释

1.介绍HTTP--Hyper Text Transfer Protocol,超文本传输协议,是一种建立在TCP上的无状态连接。整个基本的工作流程是客户端发送一个HTTP请求,说明客户端想要访问的资源和请求的动作,服务端收到请求之后,服务端开始处理请求,并根据请求做出相应的动作访问服务器资源,最后通过发送HTTP响应把结果返回给客户端。2.特点http1.0的主要特点:简单快...

2019-07-30 16:59:51 373

原创 螺旋矩阵

题目描述给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例 1:输入:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]示例 2:输入:[ [1, 2, 3, 4], [5, 6, 7, 8], [9,10,11,12]]...

2019-07-27 15:51:51 374

转载 List去重的方法

1. 常规元素去重// 遍历后判断赋给另一个list集合,保持原来顺序 public static void ridRepeat1(List<String> list) { System.out.println("list = [" + list + "]"); List<String> listNew = new ArrayLis...

2019-07-27 14:03:29 339

转载 java中的Comparable和Comparator

Comparable:使用Comparable一般都是通过类去实现此接口的,在类的内部去实现这个方法,所以一般人也称作为内部比较器(相对于Comparator来说),有好多的java原生的类都是实现了这个接口,比如String,....。public interface Comparable<T> {//如果该对象小于、等于或大于指定对象,则分别返回负整数、零或正整数。 ...

2019-07-26 21:53:57 207

原创 搜索旋转排序数组

题目描述假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log n) 级别。示例 1:输入: nums = [4,5,6,7,0...

2019-07-26 15:38:05 186

原创 判断素数的方法(素数打表)

素数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。1.傻瓜解法根据素数的定义来尝试这个数是否有除了1和它本身以外的因数。如果有则不是素数,否则该数为素数。//判断某个数是否为素数 int i,n; while(scanf("%d",&n)!=EOF) { for(i=2;i<n;i++) if(n%i==0) break...

2019-07-26 14:29:00 450

原创 三数之和

题目描述给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]来源:力扣...

2019-07-25 21:05:05 856

原创 无重复字符的最长子串

题目描述:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。来源:力扣(LeetCode)链接:https://leetcode-cn.co...

2019-07-24 21:00:24 147

转载 mysql优化

一、数据库设计表与表之间的业务联系要明确:表之间其实是有业务联系的,比如:class(primary key:class_id,所有班级信息表)、student(primary key:student_num,所有学生信息表)、student_class(primary key:stu_class_id,所有学生所在班级信息表)着三张表,如果现在需要一张老师对应哪个班级的班主任的信息表;那么此...

2019-07-23 21:26:56 163

原创 centos7.6 安装jdk

一.openjdk1.查看yum包含的jdk版本yum -y list java*2.安装挑好的jdk版本yum -y install java-11-openjdk*3.查看jdk版本java -version4.查看已安装的javarpm -qa | grep javayum -y remove +名字 ;卸载二.oracle jdk1....

2019-07-21 22:59:35 337

原创 centos7.6安装nginx

1.添加nginx源sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm2.安装yum install -y nginx查看安装位置whereis nginx设置自启动sudo systemctl start...

2019-07-16 08:59:32 823

原创 centos7.6安装mysql

1.下载yum安装镜像wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm安装rpm -Uvh mysql80-community-release-el7-1.noarch.rpm yum install -y mysql-community-server2.开启服务servi...

2019-07-16 08:52:35 212

原创 centos7.6安装tomcat 并设置开机自启

1.下载tomcatwget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.21/bin/apache-tomcat-9.0.21.tar.gz解压tar zxvf apcahe-tomcat-9.0.21.tar.gzmv apache-tomcat-9.0.21 /usr/local/to...

2019-07-10 09:13:37 564

原创 Cent OS 7.6 安装redis

1.下载redis源码wget http://download.redis.io/releases/redis-5.0.5.tar.gz解压tar xvzf redis-5.0.5.tar.gz进入解压后的目录cd redis-5.0.52.安装gccyum -y install gcc yum -y install gcc-c++ 3.使用gcc进行...

2019-07-10 08:54:00 360

原创 centos 7.6安装kms服务

1.从GitHub下载文件wget https://github.com/Wind4/vlmcsd/releases/download/svn1111/binaries.tar.gzvlmcsdmulti:表示客户端和服务端 vlmcsd:表示服务端 vlmcs:表示客户端 x64 表示64位系统 x86表示32位系统解压tar -zxvf binaries.tar.gz...

2019-07-09 22:08:38 1631 1

原创 判断某一点是否在某个图形内

最近在做一个小练习,做一个仿造CAD的软件。在此最常用的就是要判断鼠标当前位置是否在某个已经画好的图形内。ps:由于我懒,代码都是直接从我写的源码里拷贝过来的,仅供参考一个通用的方法(对任何图形都适用), 将多边形相邻顶点到鼠标的点连起来,然后计算出鼠标的点为顶点,多边形相邻顶点为边的角度,这样重复,将每个相邻顶点都这样计算,然后将角度相加,如果和等于360°,则证明在点...

2018-06-09 00:03:03 4047

原创 大数运算——加减乘除

大数运算产生的原因就是因为int,double类型表示范围都有限,无法表示过长的数字比如:2345468454567865415467864453437。因此也就无法进行四则运算,为了实现这种运算,大数运算产生了。其实也很简单,既然基本数据类型放不下这些数据,那就用数组存放呗。定义char c[100000000],总能放下这么大的数了吧,当然因为这些数是用数组保存的,那么对它们进行运算也...

2018-01-07 13:47:16 1210 1

空空如也

空空如也

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

TA关注的人

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