Loading...
「程序员协会,温馨提醒您」:代码千万行,注释第一行。命名不规范,同事泪千行。
MySQL经典题目最近离职期间需要重新去找工作啦,因为之前的工作是做大数据相关的内容,一般使用Hbase或者ES来查询,现在重新复习一下SQL,举例了经典SQL题目中比较难的一部分的进行练习,经本人验证后目前没有发现什么太大错误,有不同意见或者更好的写法的童鞋们,可以在评论区留言或者互相指正哦~学生表 Studentcreate table Student(SId varchar(10),S...
JVM垃圾回收GC的基础知识什么是垃圾?垃圾一般指的是在程序中占用空间,但是没有丝毫意义和引用对象的简称.垃圾回收器的作用?垃圾回收算法reference count(引用计数)root searching(根可达算法)Mark-Sweep(标记清除)Mark-Compact(标记压缩)Copying(拷贝)垃圾回收算法总结JVM模型JDK1.8和在这之前使用的是分代模型,有两大块区域.JD...
MySQL优化在我们的实际场景中经常会遇到sql查询较慢的问题,今天特地写一篇文章来聊聊我对于MySQL调优相关内容的知识,以及从哪些点去进行优化.MySQL表字段的设计1.字段长度尽量不要设置太大,用多少设置多少,因为在MySQL底层没有用的长度都会被占用.2.该什么类型就设置什么类型,比如日期就不要设置成String,这样查询效率也会降低.短的经常修改的字符串可以用char进行存储,占用...
从计算机底层开始进入多线程CPU(中央处理器)CPU的效率是和时钟电路挂钩的,如果这个门电路可以一秒钟开关5000次,我们就能说这个CPU在一秒钟内可以运算5000次.机器语言的演变最开始我们使用的语言是机器语言,他是由0和1组成的,但是由于他们的直观性以及可维护性较差,汇编语言产生了, 比如把101111000这个机器语言改成指令move,当我们在汇编语言中输入move的时候,就相当于直接...
synchronized锁升级的过程之前只是了解过一些悲观锁的底层原理,和他具体是如何锁住线程的一些细节,正好今天休息,结合一些文章和自己的实践操作,整理成了一篇关于synchronized锁升级的过程,希望能对大家有所帮助.在最开始的时候,synchronized就是一个重量级的锁,效率不高,后来JDK对synchronized做了一些的优化,在上锁的时候会有一个锁升级的流程.重量级锁在J...
domain@Builder @Data @AllArgsConstructor @NoArgsConstructor public class Sku { // 编号 private Integer skuId; // 商品名称 private String skuName; // 单价 private Double skuPrice; ...
Antrl4在这里向大家分享一款语法解析器,它可以帮助我们编织一颗语法树,也就说编写一套独属于自己的语言,进行解析识别,这个Antrl4也是很多底层框架所使用的技术之一,你甚至可以使用这个编写一套类sql语法,但是你在业务逻辑中可以让他去查询对应的ES,或者说是Hbase等等.或者说同时你又可以搭载华为的大数据虚拟引擎hetu,让大数据不再受限于内存硬件环境等等的限制,对外提供一个接口,进行...
OSI七层模型好多人对网络七层模型不是特别熟悉,在这里我整理了一下之前做的笔记,并且把它放在博客上,希望能与大家互相沟通交流一下。网络七层分为应用层,表示层,会话层,传输控制层,网络层,链路层和物理层。其中应用层又包含了表示层和会话层,在今天我们着重来讨论一下应用层,传输控制层,网络层以及链路层这4大层级.应用层应用层也就是我们的OSI七层模型最上层,负责建立连接和传输数据,但是这都是建立在...
ReentrantLock源码解析源码阅读的方法使用debug!使用debug!使用debug!重要的事情说3遍,当初读源码的时候也走了不少弯路,但是使用debug可以帮助我们从开始走到结尾,因为我们不可能一上来就通读源码的全文.画类图,或者是在IDEA里ShowDiagram查看类图先不要去考虑一些算法边界的+1 -1,到之后实在没明白也没事,我们主要是理解里面的设计思想以及帮助我们平时排...
强软弱虚与ThreadLocalJava中的引用类型有哪几种?强引用.弱引用.软引用.虚引用.每种引用类型的特点是什么?强引用Student student = new Student();软引用有用但是非必须的对象,在系统即将内存溢出之前,会把这类对象也回收掉. @Test void contextLoads1() { SoftReference<byt...
TCPIPNIO网络通信Linux内核 + 多个程序 = Linux操作系统应用层的调用应用交互其实就是内核交互,建立了三次握手之后开辟内核空间,然后通过可靠比特管道读取到了数据,哪怕应用程序再忙,之后再来读取也是可以读取的到的.netstat -natp //查看当前内核建立了哪些连接建立和redis6379的连接,并且接收响应进行交互其实也可以理解为,我们平时在Java代码中调用的其实就...