- 博客(54)
- 资源 (2)
- 问答 (3)
- 收藏
- 关注
原创 Mysql学习笔记
## 1.长连接与短连接mysql操作内存会在连接对象中,大量长连接易累计增加内存开销,故长连接一般在执行一个比较大的操作之后会执行“mysql_reset_connection”来重新初始化连接资源或直接断开连接。MySQL 建立连接的过程,成本是很高的。除了正常的网络连接三次握手外,还需要做登录权限判断和获得这个连接的数据读写权限。短连接模型存在一个风险,就是一旦数据库处理得慢一些,连接数就会暴涨。max_connections 参数,用来控制一个 MySQL 实例同时存在的连接数的上限,超过这个
2021-01-16 15:32:11 592 1
原创 Go学习笔记
一些常识命名类型:例如 int、int64、float32、string、bool 等预先声明类型。未命名类型:包括 array、struct、pointer、function、interface、slice、Map 和 channel,值传递:大部分引用传递:map , slice ,channel通道:关闭(close)通道后,写:不能写入,写入会直接panic。若通道存在缓冲区则可以读完,读完之后也可以读,但是会为0,可以用ok-idom进行判断是否关闭变量:a := 100,这种简短模式
2021-01-12 00:20:55 505 2
原创 从go原生rpc库源码探察rpc机制
从go原生rpc库源码探察rpc机制一调用方式比较1.本地调用过程1.1第三方库依赖本地调用: 对于传统方法来说,本地调用主要是通过链接器从库中提取出来,然后链接器再将它链接到目标程序之中。普通方法执行系统调用,但是本身就是通过将参数压入执行返回的常规方式,调用方是并不知道被调用方法的具体实现和行为。1.2自己的写的方法本地调用:编译器查看对象的声明类型和方法名。 编译器将查看调用方法是提供方的参数类型。 如果是private、static、final方法或者构造方法...
2020-08-24 00:54:16 655
原创 Redis学习笔记
Redis学习笔记知识点1:CAP:consistency强一致性、Availability可用性、Partion tolerance分区容忍性CA - 单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大。CP - 满足一致性,分区容忍必的系统,通常性能不是特别高。AP - 满足可用性,分区容忍性的系统,通常可能对一致性要求低一些。提问:为什么cap只能3进2答:在分布系统中需要分区容忍性,多个实例间同步需要网络传输,强一致性则是处理操作会等待多实例数据同步后再进行操作,可
2020-08-24 00:37:23 176
原创 2020测开面经(字节,阿里,腾讯)
目录一、背景二、面试知识覆盖2.1.java知识2.2.Spring2.3.数据库2.4.linux2.5.操作系统2.6.计算机网络2.7测试场景三、手撕代码题3.1阿里:3.2.字节3.3吉比特3.4腾讯四、心得五、复习路线一、背景先说一下自己的背景,本人中南大学就读,计算机专业,现已拿字节、腾讯测开岗位实习offer、盛...
2020-04-22 10:18:14 7756 9
原创 java运行管理
一、java开发和运行过程编写:用编写工具,编写.java文件 编译:采用javac.exe工具对.java文件进行编译,产生.class文件 运行:采用java.exe加载.class文件运行。运行过程详解:加载:首先通过ClassLoader进行加载, 存储:加载之后放入JVM Memory中来, 执行:执行机获取memory中的东西,获取字节码指令,然后翻译为本地方法执...
2020-02-27 14:33:27 266
原创 JVM虚拟机详解——java
一、虚拟机简介逻辑上,可看作一台虚拟的计算机,实际上,,一个软件,能够执行一系列虚拟的计算指令。可分为系统虚拟机和软件虚拟机。系统虚拟机:对物理计算机的仿真,如VMWare软件虚拟机:专门为单个计算程序而设计的,如JVM二、Java内存分类java自动内存管理,程序员只需要申请使用,系统会检查无用的对象并回收内存,系统统一管理内存,内存使用相对高效,但也会出现异常。...
2020-02-26 15:52:53 247
原创 类加载器——Java
一、四级类加载器简介启动类加载器(Bootstrap):主要加载系统类扩展类加载器(Extension),加载jre/lib/ext应用类加载器(APP):加载ClassPath中的类用户自定义加载器(Plugin),程序自定义二、双亲委托机制双亲委托机制,即当类被记载器加载时,首先会判断其是否已经被加载,若无则给父加载器加载,若再无则当前加载器加载。目的时为了让核心类...
2020-02-25 20:30:21 186
原创 java模块化编程的理解即学习笔记
一、java模块化概述1.jar为什么引入模块化,因为jdk8以前开发模式都是jar:简介:缺点:2.java模块化系统2.1模块化的三个原则:强封装性:一个模块必须能够对其他模块隐藏其部分代码 定义好良好的接口:模块必须向其他模块公开定义良好且稳定的接口 显式依赖:明确一个模块需要哪些模块的支持才能完成工作。2.2java9引入新的模块化系统Jig...
2020-02-14 19:33:43 3124 2
原创 Stream——Java
目录一、流的概述二、流的创建三、流的转换四、Optional类型五、流的计算结果六、流的应用一、流的概述定义:特点:pipelining:很多流的操作也是返回一个流Internal Iteration:流操作自动进行迭代,用户感知不到循环遍历。工作流程:流的创建 流转换为其他流的中间操作,可以包括多个步骤(惰性步骤) 流的计算结果。这...
2020-02-13 17:03:59 312
原创 Lambda表达式——java
目录一、Lambda表达式二、函数式接口三、方法引用四、Lambda表达式应用一、Lambda表达式传递方法/代码块(函数式程序语言设计),java8支持此项功能,通过java的Lambda表达式实现。通常表示一个匿名函数 Lambda表达可以当作参数,传递给其他高级函数.Lambda表达式定义:类似于匿名方法,一个没有名字的方法 参数,箭头,1/多...
2020-02-09 19:31:22 332
原创 嵌套类——java
目录一、嵌套类基础二、静态嵌套类:三、普通内部类:四、局部内部类五、匿名内部类:六、嵌套类对比:七、嵌套类的应用场景一、嵌套类基础嵌套类:一个类定义在别的类得内部。如://文件名B.java//A类在B类中定义,嵌套public class B { class A { }}静态嵌套类:即类前有static修饰符非静态嵌套类:又...
2020-02-08 22:40:32 308
原创 注解——Java
目录一、注解二、自带注解:三、自定义注解四、元注解五、注解的解析六、Runtime注解实现本质七、注解的应用一、注解注解:位于源代码中,使用其他工作进行处理的标签;注解用来修饰程序元素,但不会对修饰的对象有直接的影响;只有通过某种配套的工作才会对注解信息进行访问和处理。千万不要把注解和注释弄混淆!!!注解的主要用途:提供信息给编译器和IDE工具...
2020-02-08 18:39:28 151
原创 代理——java
目录一、代理模式和静态代理二、动态代理三、AOP编程一、代理模式和静态代理代理:为目标对象提供(包装)了一个代理,这个代理可以控制对目标对象的访问。静态代理:代理对象持有目标对象的句柄; 所有调用目标对象的方法,都调用代理对象的方法; 对每个方法,需要静态编码(理解简单,但代码繁琐)(所以当方法过多时最好使用动态代理) 一般代理对象和目标对象引用同一个接口...
2020-02-07 17:24:22 261
原创 反射学习笔记——java
目录一、常见/反射方法创建对象1.1静态编译1.2克隆方法1.3序列化方法1.4反射方法二、反射的关键类2.1获取Class和设定类型标识信息2.2关键类2.2.1获取变量2.2.2获取方法2.2.3获取构造方法2.2.4获取父类和父接口三、反射应用3.1数据库连接3.2动态扩充数组3.3动态执行方法3.4json数据转变为对象...
2020-02-06 16:06:48 379
原创 泛型——java
目录一、自定义泛型的设计1.泛型类2.泛型方法3.泛型接口二、泛型类型的限定三、泛型实现的本质和约束1.本质:2.约束:四、java类型的协变和逆变1.java数组是协变的2.java的(原始的)泛型是不变的3.java数据变化。泛型类:ArrayList,HashSet,HashMap等泛型方法:Collections.binarySear...
2020-02-05 22:58:56 301
原创 语法糖——JAVA
目录一、for-each二、枚举三、不定项参数四、静态导入五、自动装箱与拆箱六、多异常并列七、数值赋值优化八、接口方法九、try-with-resource十、resource-bundle文件加载十一、var类型十二、switch语法糖定义:为了让事务更加容易读和理解的程序语言被成为语法糖。一、for-eachfor语句:for(...
2020-02-05 19:54:59 437
原创 数据库编程——java
目录一、SQL常见语句:二、构建数据库操作步骤:三、SQL中字符串拼接四、事务处理五、数据库类型六、数据库连接池一、SQL常见语句:建表:create table t1(a int ,b varchar(20))); 插入:insert into t1(a,b) values(1,'abc'); 选择:select a from t1; 条件选择:select...
2020-02-02 20:29:41 207
原创 邮件编程——Java
一、提前准备:1.1准备第三方库依赖javax.mail <!-- https://mvnrepository.com/artifact/javax.mail/javax.mail-api --> <dependency> <groupId>com.sun.mail</groupId> <artifactI...
2020-02-01 22:30:42 480
原创 BIO,NIO,AIO网络编程——java
一、BIO阻塞输入输出,传统得tcp和udp编程形式,服务端为每一个客户端之间建立专线连接。前面得信息处理会影响后面得信息处理。二、NIO非阻塞输入输出。一个线程同时管理多个连接,减少线程多的压力,不是真的异步操作。Selector:多路选择器 Channel:通道 Buffer:缓冲区服务端方法:1.建立服务端通道并且在制定端口等待连接...
2020-02-01 21:54:07 164
原创 高级文件操作之图片操作、统计图、验证码、一/二维码、docx、表格、pdf文件的操作
因为几乎用到的都是工具类,且不常用,所以就不做分析,用时查即可。目录1.图片操作2.验证码生成3.统计图生成:4.一/二维码的生成与解析4.1一维码4.2二维码4.3补充barcode4j解析一/二维码5.docx文件操作6.表格文件操作7.pdf文件操作1.图片操作package basic;import java.awt.Rectang...
2020-02-01 20:27:59 546
原创 TCP、UDP、HTTP网络编程——JAVA
目录一、TCP二、UDP三、HTTP编程四、补充httpClient类一、TCP面向链接的传输协议,可无差错的数据传输,双向字节流的传递服务端:1.首先定义接受信息的端口,并且进入阻塞状态,等待消息到来。ServerSocket ss=new ServerSocket(8001); //驻守在8001端口 Socket s=ss.a...
2020-02-01 19:56:59 372
原创 多线程之并发编程、线程安全数据结构——JAVA
一、Thread/Runnable/Thread组管理线程的集合,树形结构,大线程组可以包括小线程组,可以通过enumerate方法遍历组内进程执行操作,但是还是存在管理效率低,高度耦合,无法重用线程的缺点。1.创建线程组:ThreadGroup threadGroup = new ThreadGroup("Searcher");2.将线程绑定到线程组中方法(此处需注意线程用Runna...
2020-01-31 20:14:03 501
原创 json读写——java
JSON解析:如图1.去掉最外面的{}:JSONObject jsonObject = new JSONObject(str);//可以理解为去掉最外层的{}2.取出books数组:JSONArray books = jsonObject.getJSONArray("books");3.再取出数组中的每一个object,并且转化为JSONObject形式。for (Ob...
2020-01-30 20:30:04 301
原创 XML解析
一、dom方法文档对象模型,方法擅长小规模的读和写处理方式是将整个的xml作为一个树结构的方法是读入内存来操作和解析,解析大量数据文件时会遇到内存泄漏及程序崩溃的风险。dom写方法:1.先通过此方法创建一个document节点DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); ...
2020-01-30 20:06:41 491
原创 字符编码,国际化编程、高级字符串
一、字符编码:文件的写入读出使用的编码必须统一否则会出现乱码。new OutputStreamWriter(fos, charset);new InputStreamReader(fos, charset); 编码方式charset保持一致。二、国际化编程一般是使用java.util.ResourceBundle用于加载语言_国家语言包java.util.Locale定...
2020-01-30 17:03:06 216
原创 多线程——JAVA
一、线程简介:一个程序可以包括多个子任务,可串/并行,每一个子任务可以称为一个线程,如果一个子任务阻塞,程序会将cpu调度另一个子任务进行工作,这样cpu就可以保留在本程序中,而不是像进程如果被阻塞cpu被调度到别的程序(进程)去。线程可以共享数据,线程通讯更加高效,线程更加轻量、容易切换,多个线程更加容易管理。二、线程构造1.线程继续Thread类,并且实现run方法。示例12....
2020-01-23 23:59:39 223
原创 使用native2ascii命令将汉字转化为Unicod的\uxxxx形式教程
打开记事本输入相关文字并且保存使用cmd命令转化 用windows+r 输入cmd打开命令框,转换工作目录至该文件的目录输入命令 native2ascii 文件 新文件名转换成功...
2020-01-15 23:26:02 313 1
原创 文件读写——JAVA
目录一、普通文件读文件:写文件:二、二进制文件读文件:写文件:三、压缩文件压缩文件:压缩文件夹:解压缩文件:解压缩文件夹:四、代码举例普通文件二进制文件压缩文件一、普通文件读文件:FileInputStream fis= new FileInputStream(路径);//节点类InputStreamReader isr=...
2020-01-15 22:55:48 392
原创 Properties——JAVA
Properties:同步,文件形式,数据量小,不常用举例:所见即所得import java.io.BufferedInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;imp...
2020-01-15 20:13:01 177
原创 抽象类abstract、接口interface、静态static、final,单例模式,常量解读——JAVA
目录一、抽象类和接口二、static、final,单例模式,常量2.1static2.2单例模式:2.3final2.4常量三、private\default\protected\public一、抽象类和接口抽象类:一个类暂时由方法未实现,需要被定义未抽象类。类的继承:一个类仅仅只能继承一个类,抽象类也可以被其他类唯一继承。继承抽象类的类必须实现抽象类...
2020-01-15 19:30:17 703
原创 自定义对象中sort函数的使用——JAVA
方法一:在自定义对象中使用comparable接口,并且定义compareTo()方法。返回1 <返回-1 =返回0(若需要反序则>返回-1 <返回1 =返回0)方法二:新建Comparator类,在该类中实现compare()方法返回1 <返回-1 =返回0(若需要反序则>返回-1 <返回1 =返回0)然后再sort函数中调用Comparat...
2020-01-13 17:27:31 446
原创 Arrays方法和Collections方法的运用随记——JAVA
目录一、Arrays方法二、Collections一、Arrays方法补充:批量拷贝copyOfRang(a,b,c)拷贝数组a中b~c个元素注意:查找binarySearch()是调用二分查找方法,需要数组是有序的import java.util.Arrays;import java.util.Random;public class ArraysTest...
2020-01-13 17:18:10 248
原创 Hashtable,HashMap,Properties比较随记
Hashtable:同步,慢。数据量小HashMap:不支持同步,快,数据量大Properties:同步,文件形式,数据量小,不常用LInkedHashMap:基于双向链表的维持插入顺序的HashMapTreeMap:基于红黑树的Map,可以根据key的自然排需或者compareTo方法进行排序输出。常见方法:Hashtable也是无序的。import jav...
2020-01-13 15:56:00 230
原创 数组与列表的随记——JAVA
目录一、数组1.无需索引的遍历2.数组初始化定义二、列表一、数组1.无需索引的遍历//d为一维数组for(int e : d) { System.out.println(e); }//a为二维数组for(int[] items : a) { for(int item : items) { System.out.print(...
2020-01-13 15:20:46 132
原创 HashSet,LInkedHashSet,TreeSet比较与解读——JAVA
目录HashSet,LInkedHashSet,TreeSet比较与解读1.基本性质比较2.判定元素是否相同方法比较3.常见函数一、HashSet基本函数运用举例二、LinkedHashSet三、TreeSetHashSet,LInkedHashSet,TreeSet比较与解读1.基本性质比较HashSet:基于散列函数得集合,无序,可容纳null元素...
2020-01-13 14:46:19 379
原创 数字、字符串、时间、格式化类常用函数解读——JAVA
目录一、数字类1.1超大数浮点数1.2超大数整数1.3随机数:1.4格式化输出1.5浮点数和双精度二、字符串2.1String2.2正则表达式的简单说明:2.3可变字符串StringBuffer/StringBuilder三、时间类3.1Calendar四、格式化类4.1数字格式化DecimalFormat4.2字符串格式化...
2020-01-12 21:07:13 354
原创 jar文件的导出和导入
一、导出文件-导出导出-java-java文件自己选择所要导出的类和存储的位置成功二、导入文件-导入报错开始导入选中项目右键-属性添加外部jar包点击应用—关闭,报错解除...
2020-01-12 16:33:22 169
原创 不可变对象(Immutable Object)String类解读——JAVA
目录不可变对象(Immutable Object)字符串修改字符串的修改方法比较:不可变对象(Immutable Object)作用:一旦创建,这个对象的(状态/值)不能被更改了其内在成员变量的值就不能修改了。含有:String BigInteger BIgDecimal等等,后用String做例子详细说明。自己创建不可变对象的方法:字符串修改...
2020-01-12 16:07:14 368
原创 常量、常量池——JAVA
一、常量常量的定义:不能修改的变量public final static 类型 名字 =赋值;(常量名字应该大写)特殊的常量:接口内定义的变量默认是常量。二、常量池public class A { public static void main(String[] args) { Integer n1 =128; Integer n2 =128; System....
2020-01-12 15:39:51 198
oppo官网web前端.zip
2020-01-08
用随机数生成数组,用binarySearch()二分查找该数组却错误?是为什么呢?
2020-01-13
代码类似耗时却是10倍,寻求大佬帮菜鸡找原因?!
2018-12-22
差不多的代码耗时相差两倍,为什么?求大佬解答?
2018-12-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人