自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 深入浅出数据库(MySQL数据库)

MySQL数据库安装及navicat破解什么是数据库MySQL相关操作数据库相关操作

2020-07-10 16:30:47 115

原创 String详解

如果常量池里有,则返回常量池里字符串的引用如果常量池里没有,将堆里对象的引用写进常量池。

2023-04-20 21:54:06 118

原创 Java获取Linux的CPU和内存占用信息(无需引用第三方jar包)

java获取Linux cpu和内存信息

2022-10-12 19:29:54 2337 4

原创 archlinux

云服务器安装Archlinux

2022-09-26 21:30:59 734

原创 分布式一致性协议

一致性协议背景​ 当网站流量很小时,只需要一个应用,并且把这个应用部署到一个机器上,就是传统的单机应用。随着流量的增大,单机应用已经不满足需求,将该应用部署到多个机器上,使用负载均衡算法将流量打在不同的机器上,就是垂直应用结构,当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,形成服务中心,就是分布式服务架构。CAP理论Consistency一致性 是指强一致性,即当有一个数据库集群mysql A和B,有一个x值为1,用户a修改x=2,然后用户b从B读取x的值。当用户a

2022-01-09 10:15:05 167

原创 netty原理

NettyIO模型java有三种IO模型 BIO,NIO,AIO1. BIO同步阻塞模型,一个客户端对应一个处理线程main() { ServerSocket server = new ServerSocket(50000); while(true) { Socket client = server.accept(); //没有客户端连接会阻塞 handler(client); //通过socket读取client发来的数据 会阻塞读取 可以new

2021-12-30 19:23:37 3620

原创 opencv在idea中的配置

用普通java项目,则只需要在项目的library中add opencv-xxx.jar即可用VMoptions里添加引入dll或者在代码里直接引入都行 public static void main(String[] args) { URL url = ClassLoader.getSystemResource("lib/opencv_java454.dll"); System.load(url.getPath()); System.out.

2021-11-10 21:03:42 2870

原创 tomcat8源码编译

我用的版本是tomcat8.5.47下载完成解压后在解压的目录里新建一个pom.xml用idea打开解压后的该工程删除webapps里的examples文件夹<?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" xs

2021-10-19 23:19:04 143

原创 JVM及调优

1.JVM1.1类加载运行过程​ 当运行某个类的main函数启动程序的时候,首先会通过类加载器把主类加载到JVM比如当我们需要加载People类时,首先会创建java虚拟机,并创建一个引导类加载器实例,创建JVM启动器实例sun.misc.Launcher该类由引导类加载器负责加载,并创建其它类加载器。通过Launcher类获取运行类自己的系统类加载器即应用类加载器AppClassLoader,通过调用其loadClass方法加载要运行的类People,加载完成后JVM会执行主类的main方法。其中

2021-10-19 10:30:59 178

原创 mysql高级

mysql高级及调优1.mysql架构1.1.主要文件​ 1.二进制日志logbin : 存放了所有的操作记录 用于主从复制和备份恢复,相当于redis中的AOF 配置中默认关闭​ 2.错误日志 logerror :记录严重的警告和错误信息,启动和关闭时的信息,默认关闭​ 3.慢查询日志 : 记录查询的sql语句,从而对执行时间较长的sql语句进行分析,默认关闭,因为记录日志影响整体性能.1.2.数据文件​ window系统和linux系统存放存在差异​

2021-08-05 12:17:13 252

原创 Git与Gitee

Git概述 Git与SVN两者都是对代码进行管理的工具。不同的是Git是分布式版本控制系统,而SVN是集中式版本控制系统。 SVN的版本库放在中央服务器上,开发的时候都是先从中央服务器下载最新的版本,开发完成后,再提交到服务器。缺陷就是 服务器单点故障,容错性差. Git是分布式版本系统,拥有本地仓库和远程仓库 本地放库: 开发人员自己电脑上 远程仓库:远程服务器上的仓库Clone:克隆,就是将远程仓库复制到本地Push:推送,就是将本地仓库代码上传到远程仓库Pull:拉取,就是将远程仓库

2021-02-28 08:47:56 517

原创 JVM内存结构

 内存是⾮常重要的系统资源,是硬盘和CPU的中间仓库及桥梁,承载这操作系统和应⽤程序的实时运⾏。JVM内存布局规定了java在运⾏过程中内存申请、分配、管理的策略,保证了JVM的⾼效稳定运⾏。不同的JVM对于内存的划分⽅式和管理机制存在着部分差异。结合JVM虚拟机规范,来探讨⼀下经典的JVM布局。  HotSpot VM是⽬前市⾯上⾼性能虚拟机的代表之⼀。它采⽤解释器和即时编译器并存的架构。在今天,java程序的运⾏性能早已脱胎换⻣,已经到了可以和C/C++程序⼀较⾼下的地步。 Class文件被类加载器

2021-01-31 21:46:01 242

原创 JVM简介

虚拟机就是一台虚拟的计算机,分为:系统虚拟机:Visula Box,VMware程序虚拟机: JVM 在JVM上执行的指令称为java字节码指令. java技术的核⼼就是java虚拟机(JVM,Java Virtual Machine),因为所有的java程序都运⾏在java虚拟机内部。优势 跨平台性、优秀的垃圾回收器,以及可靠的即时编译器。作⽤java虚拟机就是⼆进制字节码的运⾏环境,负责装载字节码到其内部,解释/编译为对应平台上的机器指令执⾏。每⼀条java指令,java虚拟机规范中.

2021-01-31 11:03:04 122

转载 异或XOR

异或XOR1.异或运算可以用来交换两个变量的值x = x ^ y // (a ^ b, b)y = x ^ y // (a ^ b, a ^ b ^ b) => (a ^ b, a)x = x ^ y // (a ^ b ^ a, a) => (b, a)异或运算是交换两变量值最快的方式,而且不需要额外空间2.异或运算可以用于加密。第一步,明文(text)与密钥(key)进行异或运算,可以得到密文第二步,密文与密钥再次进行异或运算,就可以还原成明文。原理很简单,如果明文是 x,

2021-01-29 16:45:37 644

原创 JDK1.7HashMap源码解析

JDK1.7里的HashMap采用的是数组和链表的数据结构首先,该类继承于AbstractMap实现规定的一些方法,Cloneable支持克隆,Serializable序列化先从类的一些成员说起:loadFactor装载因子,是用来衡量 HashMap 满的程度,计算HashMap的实时装载因子的方法为:size/capacity,而不是占用桶的数量去除以capacity。capacity 是桶的数量,也就是 table 的长度length。threshold 计算公式:capacit

2021-01-28 18:19:48 166

原创 java动态代理 ----cglib可以嵌套代理

代理机制JDKProxyJDKProxy是基于接口实现的。对于一个接口A的对象a来说,只要这个对象a获取到了该接口实现类B的代理,则对于接口的实例对象来说,是可以调用到实现类B所实现的自身的方法。 Class<?> klass = object.getClass(); ClassLoader classLoader = klass.getClassLoader(); Class<?>[] interfaces = klass.getInte

2020-10-29 17:05:10 583

转载 CPU缓存机制

        缓存就是数据交换的缓冲区(称作Cache),当某一硬件要读取数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从内存中找。由于缓存的运行速度比内存快得多,故缓存的作用就是帮助硬件更快地运行。     因为缓存往往使用的是RAM(断电即掉的非永久储存),所以在用完后还是会把文件送到硬盘等存储器里永久存储。电脑里最大的缓存就是内存条了,最快的是CPU上镶

2020-08-07 09:23:41 1427

原创 移动GIt安装目录导致的问题解决办法

解决idea中push弹出的Push failedUnable to access ‘https://gitee.com/zhang_binbin2020/leetcode.git/’: error setting certificate verify locations:CAfile: D:/Git/Git/mingw32/ssl/certs/ca-bundle.crtCApath: none错误git config --system http.sslcainfo "D:\APP\Git\Git\

2020-08-06 07:17:09 641 3

原创 git与gitee

创建好gitee仓库后选择一个文件夹克隆仓库的代码先将仓库clone到本地,修改后再push到码云的仓库仓库$ git clone https://gitee.com/用户个性地址/HelloGitee.git #将远程仓库克隆到本地在克隆过程中,如果仓库是一个私有仓库,将会要求用户输入码云的账号和密码。按照提示输入即可。当然,用户也可以通过配置本地的git配置信息,执行git config命令预先配置好相关的用户信息,配置执行如下:$ git config --global user.name

2020-07-17 17:50:01 169

原创 PropertiesParser(properties文件解析)

id = 123name = 张三sex = 男hobby = 打游戏对于这样的properties文件,对其进行解析Properties property = new Properties(); InputStreamReader isr = new InputStreamReader(Class.class.getResourceAsStream ("/stu/aboutp

2020-07-17 11:59:33 362

原创 XMLParser(xml文件解析工具)

对于这样一个xml文件<?xml version="1.0" encoding="UTF-8" standalone="no"?><students> <student id="00001" name="张三" sex="男" birthday="2000-10-3"> <hobby>学习</hobby> <hobby>敲代码</hobby> <introdu

2020-07-17 11:04:12 3839

原创 MySQL常用函数

数学函数 CEIL() 进一取整 FLOOR() 舍掉小数部分 ROUND() 四舍五入 TRUNCATE() 截取小数点后几位 MOD() 取余数 ABS() 取绝对值 POWER() 幂运算 PI() 圆周率 RAND()或者RAND(X) 0~1之间的随机数 SIGN(X) 得到数字符号 EXP(X) 计算e的x次方字符串函数日期时间函数其它常用函数...

2020-07-10 18:35:32 88

原创 MYSQL数据操作

添加记录INSERT [INTO] tbl_name[(col_name,…)] {VALUE|VALUES}(VALUES…);不指定字段名称INSERT tbl_name VALUE(value…)需要按照建表时的字段顺序给每一个字段赋值列出指定字段INSERT tbl_name(字段名称,…) VALUES(值,…)INSERT … SET的形式INSERT tbl_name SET 字段名称=值,…;INSERT … SELECTINSERT tbl_name[(字段名称…)]

2020-07-10 18:32:55 132

原创 MYSQL存储引擎

MyISAM存储引擎默认MyISAM的表会在磁盘中产生3个文件 .frm 表结构文件 .MYD 数据文件 .MYI 索引文件可以在创建的时候指定数据文件和索引文件的存储位置,只有MyISAM表支持 DATA DIRECORY [=] 数据保存的绝对路径 INDEX DIRECTORY [=] 索引文件保存的绝对路径MyISAM单表最大支持的数据量2的64次方条记录每个表最多可以建立64个索引如果是复合索引,每个复合索引最多包含16个列,索引值最大长度是

2020-07-10 16:57:27 83

原创 MYSQL中的数据类型

整数型浮点型字符串类型 CHAR效率高于VARCHAR,CHAR相当于拿空间换时间,VARCHAR拿时间换空间 CHAR默认存储数据的时候,后面会用空格填充到指定长度;而在检索的时候会去掉后面空格;VARCHAR在保存的时候不进行填充,尾部的空格会留下TEXT列不能有默认值,检索的时候不存在大小写转换日期时间类型二进制类型...

2020-07-10 16:53:55 119

原创 数据表相关操作

数据表表是数据库最重要的组成部分之一,数据是保存在数据表中数据表由行(row)和列(column)来组成每个数据表中至少有一列,行可以有零行一行或者多行组成表名要求唯一,不要包含特殊字符,最好含义明确创建表CREATE TABLE [IF NOT EXISTS] tbl_name(字段名称 字段类型 [完整性约束条件],字段名称 字段类型 [完整性约束条件],…)ENGINE=存储引擎 CHARSET=编码方式;UNSIGNED 无符号,没有负数,从0开始

2020-07-10 16:48:44 125

原创 数据库相关操作

创建数据库CREATE {DATABASE|SCHEMA} db_name;检测数据库名称是否存在,不存在则创建 CREATE DATABASE [IF NOT EXISTS] db_name;在创建数据库的同时指定编码方式CREATE DATABASE [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset;注意数据库名称最好有意义名称不要包含特殊字符或者是MySQL关键字查看当前服务器下全部数据库SHOW

2020-07-10 16:22:06 98

原创 MYSQL相关操作

配置文件my.cnf(mac)是MySQL的配置文件my.ini(windows)是MySQL的配置文件登陆/退出MySQL需在cmd命令窗口下输入执行,需将mysql安装目录下的bin目录添加到系统环境path变量里登陆 mysql -uroot -p / mysql -uroot -proot 得到版本号 mysql -V/ mysql --version 登陆的同时打开指定数据库 mysql -uroot -p -D db_name退出 exit /quit登

2020-07-10 16:18:21 100

原创 什么是数据库?

数据库(Database) 是按照数据结构来组织、存储和管理数据的仓库常见的数据库OracleDB2SQL ServerPostgre SQLMySQL相关术语数据库系统(Database System):DBS数据库(Database)数据库管理系统(Database Management System):DBMS应用开发工具管理员及用户SQL语言Structured Query Language:结构化查询与颜DDL数据定义语言DML数据操作语言DQL数据查询语言

2020-07-10 16:10:37 94

原创 java@String@StringBuffer@数组@Calendar@基本类型的封装类

Stringpublic static void main(String[] args) { String str1 = new String("abcdef"); //字符串类对象的生成方法和赋初值方法 System.out.println(str1); String str2 = "abcdef"; System.out.println(str2); int num ...

2019-10-29 13:05:17 118

原创 java@强制类型转换@Obje@tostring@equals

基类与派生类之间的强制类型转换public class Test { public static void main(String[] args) { Grandfather grandfather = new Grandfather(); Father father = new Father(); Son son = new Son(); Grandfather...

2019-10-25 22:01:34 352

原创 java基础之继承

继承面对对象编程思想的最终目的就是 :代码复用。那么代码复用的手段就是做工具,和工具集,并将工具进行保护,这的确能做到代码复用,但这还远远不够。所以产生了继承。当我们做工具的时候,发现做的几个工具的某些功能大体相同,所以我们可以概括,总结抽象成一个类,这个 类就具有了共同的属性,共同的操作,共同的成员,共同的方法。所以通过这种方式,其实也完成了 代码复用。首先讲一讲父类的public,pr...

2019-10-24 12:45:52 209

原创 数据结构与算法之从汇编语言角度探讨全局变量和局部变量,形参(数据段和系统堆栈)

关于局部变量和形参变量我们将从汇编的角度来讨论这个问题首先看c语言代码:#include <stdio.h>int globolVar = 100; // 100对应的十六机制为64Hint functionOne(int formalVarInt, int formalVArShort);int functionOne(int formalVarInt, int fo...

2019-10-20 22:39:10 596

原创 java关于this,this(),final,static

关于this当我们用Eclipse自动填充功能自动补全许多代码的时候,在这些代码中会出现一个关键字:this如果我们把这个this去掉,那么这个row其实是指在该setCol方法中的形参变量row而非类的成员row。但其实这个this是指调用setCol的对象。所以,this的功能之一:区分局部变量和成员变量this的第二个作用就是:替代对象本身;关于this();方法(非静态方法...

2019-10-19 21:19:42 144

空空如也

空空如也

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

TA关注的人

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