自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序猿的日常笔记

程序猿的日常笔记

  • 博客(27)
  • 收藏
  • 关注

原创 分组排序取第一条数据 SQL写法

在数据库查询过程中经常遇到需要分组排序查询第一条数据的情况。例如,在消息列表中需要展示每个联系人最近的一条信息。

2024-04-24 13:27:31 528 1

原创 Kafka命令行创建Topic失败

刚安装了 Kafka,验证一下是否安装成功。想要在 Kafka 上创建一个 Topic,因为没有安装管理界面所以只能尝试登录服务器用命令行创建。在使用创建Topic的命令的过程中反复失败。

2024-03-25 19:44:56 498

原创 威联通安装Kafka

最近在学习 Kafka 的知识,遇到一些问题网上搜到的信息不全。想要在本地安装一个 Kafka 进行验证,想到了之前买的 Nas 就开始折腾。

2024-03-25 19:33:15 1022

原创 数据处理Job思路总结

对工作中遇到的数据处理Job做了一些梳理,这里试图总结一种通用的Job开发思路。

2024-02-02 14:33:43 921

原创 Chrome单独配置代理的方法

Windows上单独对Chrome设置代理,需要在启动时传递参数,具体步骤如下。

2024-01-26 20:31:25 1644

原创 顺序读写和随机读写

之前学习数据库相关知识的时候经常看到一个结论:随机读写的性能相比顺序读写差很多,要尽量避免。然而对于“随机读写和顺序读写之间的差异有多大,差异的原因是什么”一直是一知半解,这次有时间就好好学习一下相关知识。

2024-01-26 16:30:06 1122

原创 《如何画好架构图》学习笔记

看了一堂《如何画好架构图》的公开课,结合网上的资料与经验做一些思考总结。文中的例子和图片大多是从课程中摘录的。

2024-01-24 21:19:47 1155

原创 机械硬盘知识梳理

硬盘 #计算机组成有时间学习一下基础知识,这方面网络上有很多的资料,所以有很多借鉴的部分。被借鉴的文章都罗列在参考资料中。

2024-01-22 15:33:59 1109

原创 固态硬盘知识梳理

固态硬盘(Solid State Drive 即SSD)是指用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。相比起传统硬盘,它没有磁头,马达,磁盘等一系列的零件,搭载NAND Flash芯片作为存储介质,在运行速度,功耗,轻便等方面是传统硬盘所无法比拟的。优点:读写速度快;防震抗摔性;低功耗;无噪音;工作温度范围大;轻便。缺点:容量小;寿命有限;售价高。

2024-01-22 15:26:06 851

原创 浅析SQL执行过程

最近一直在做系统的性能优化,同时也复习了一下mysql的知识,这里整理一下。Mysql查询过程这里忽略细节,简单介绍一下Mysql执行一条查询语句的基本过程。组件介绍缓存: 查询结果的缓存解析器: 解析sql优化器: 选择最优路径,生成执行计划执行引擎: 判断用户与表的权限关系,执行查询存储引擎 : 真正存储数据和索引的地方流程描述客户端发送一条查询语句给服务器...

2020-02-29 21:24:01 792 1

原创 浅谈Mysql字段类型

整理Mysql基础数据类型,TINYINT,SMALLINT,INT,BIGINT......

2020-02-27 13:02:29 195

原创 Mysql执行计划——解读Explain

mysql的执行计划再熟悉不过了,sql优化经常使用,但是里面很多字段都是知道个大概,没有很系统的学习过。今天就抽空整理一下这块的知识点。

2020-02-08 23:25:30 356 1

原创 5. TOMCAT学习——TOMCAT的连接器

概述连接器是TOMCAT处理请求的入口,所有请求都是由 连接器 来接收并发起整个请求处理过程。连接器一般与TOMCAT的Service关联。一个Service持有一个或多个连接器。创建连接器TOMCAT启动时会在load阶段根据 server.xml 中的配置创建对应的Connector,相关的配置代码如下:<Service name="Catalina">...

2019-04-26 11:27:10 302 1

原创 4. TOMCAT学习——TOMCAT的载入器

TOMCAT的载入器是什么TOMCAT的载入器指的是 Servlet应用的载入器,一个Servlet应用就会有一个载入器的实例。每个载入器中都引用了 TOMCAT的自定义类加载器。载入器继承于 org.apache.catalina.Loader 接口。TOMCAT的载入器是 org.apache.catalina.loader.WebappLoader默认的类加载器是 org.apac...

2019-04-26 11:26:16 252 1

原创 3. TOMCAT学习——TOMCAT的生命周期

TOMCAT包含很多组件。这些组件需要跟随TOMCAT一起启动和关闭。如何达到这种目的呢?TOMCAT引入了生命周期的概念。生命周相关的接口和类包括1. org.apache.catalina.Lifecycle 2. org.apache.catalina.LifecycleListener3. org.apache.catalina.LifecycleEvent4. org.apac...

2019-04-26 11:25:40 566 1

原创 2. TOMCAT学习——TOMCAT的启动过程

TOMCAT的启动过程Tomcat的启动入口是 Bootstrap 类的main方法。Bootstrap 会初始化一些基础环境,比如设置环境变量和默认类加载器。然后调用 Catalina 的方法来加载和启动Tomcat。启动过程总体分为两个步骤:load();start();loadload方法会根据配置文件加载整个TOMCAT,将TOMCAT的所有组件按照设计好的结构装...

2019-04-26 11:23:49 193 1

原创 1. TOMCAT学习——TOMCAT的主要组件

TOMCAT的主要组件如图:ServerServer 组件是最外层的容器组件。包含了整个Servlet引擎的所有组件。当TOMCAT启动时,会由Server来启动所有组件,关闭时也是由Server来关闭所有组件。ServiceService 在Server的内部,一个Server可以有多个Service,但是默认情况下只有一个。每个Service都包含了一个Servlet容...

2019-04-26 11:22:25 428 1

原创 0.TOMCAT学习——概述

TOMCAT是什么?可以从两个方面来看对于外部客户端而言,TOMCAT是一个WEB服务器,也可以叫HTTP服务器。因为他用HTTP协议进行通信。对于开发人员而言,TOMCAT是一个 Servlet 容器。我们比较感兴趣的是第二点。那么,什么是 Servlet ?Servlet 是一个接口,一种标准。可以简单的认为他是开发者与web服务器之间的一种规范。就像是网线插头和网口插座,我们...

2019-04-26 11:21:24 133

原创 Mysql下的SQL优化——隐式类型转换

前几天同事问了一个问题:在一个只有两个值的字段上加索引,在以这个字段为查询条件的时候是否会走索引。同事说不会,我说会走索引。同事不服,于是我们当场做了一个实验。结果居然没有走索引,满脸尴尬,难道真的是我错了?接下来我们分析下实验表的情况如下表结构 : Field Type Null Key id int(11) NO PRI s...

2018-05-15 15:20:57 3229 1

原创 Java中的SPI

最近在看一个rpc框架源码的时候,发现它可以获取到某一个接口的实现类列表。感觉很厉害,究竟是怎么做到的。查看了源码,原来是使用了jdk自带的spi机制。什么是SPIspi(Service Provider Interface) 是JDK提供的一种解耦方法。spi规定以接口全路径名为文件名,以实现类全路径名为文件内容。使用JDK提供的 java.util.ServiceLoader...

2018-04-11 11:21:19 269

原创 JAVA for-each原理

我们在写程序的时候经常使用for-each来遍历对象。那么为什么有些对象可以通过for-each来遍历呢?我们的自定义类在不继承于集合对象的情况下,是否可以遍历呢?什么是for-eachfor-each是增强型的for循环,是java提供的一种语法糖。把 for (int i = 0; i &lt; list.size; i ++) { Object obj = ...

2018-04-02 15:08:43 659

原创 String 和 == 的小实验

作为Java开发也有些年了。一直对于String对象的使用 == 比较有些疑问点。 有人说,String这么简单的对象有什么好搞不清的。 事实上,还真的有些小复杂。 这里涉及到几个方面: 1. 常量 2. 对象 3. jvm编译期优化下面以几种情况做测试,并尝试解释原因。对象String a = new ...

2018-03-31 17:53:37 166

原创 Java的不可变类

什么是不可变类 Effective Java中定义: 不可变类:其实例不能被修改的类。每个实例中包含的所有信息都必须在创建该实例的时候提供,并在对象的整个生命周期内固定不变。Java平台中包含许多不可变类,包括String,基本类型的包装类,BigInteger和BigDecimal。 怎样开发一个不可变类 不要提供任何可以修改对象属性的方法 不要为属性...

2018-03-31 16:41:46 4188 1

原创 Spring的BeanUtils.copyProperties方法

用途BeanUtils的copyProperties方法用来做属性copy。 使用时的注意点:target和source的属性名类型和名称必须相同名称大小写敏感如果名称大小写不一致,或者类型不一致,则跳过,不做属性复制原理copyProperties使用了jdk自带的自省机制。 自省 简单来说就是jdk在 反射 上又做了一层包装,针对于Bean对象的属性读写。大...

2018-03-25 23:20:05 3609

原创 Mysql order by和limit混合使用问题

问题描述:本周在工作中遇到一个问题,分页查询数据,不同页之中出现了相同的数据。条件筛选之后根据业务日期排序并分页,业务日期相同的有106条数据,50条一页。结果在第一页和第三页都出现了同样的一条数据。为什么呢?order by 和 limit一起使用会存在一些问题。 原文如下: If you combine LIMIT row_count with ORDER BY, M...

2018-03-24 15:20:48 4577 1

原创 Classloader的双亲委托机制

JVM自带的ClassLoader类JDK中提供了三个ClassLoader,根据层级从高到低为:Bootstrap ClassLoader,主要加载JVM自身工作需要的类。Extension ClassLoader,主要加载%JAVA_HOME%\lib\ext目录下的库类。Application ClassLoader,主要加载Classpath指定的库类,一般情况下这是程序中的...

2016-11-16 23:12:03 3653

原创 Java通过反射创建对象

通过反射创建对象创建对象之前,我们必须先知道要为哪个类创建对象。我们需要拿到这个类的全路径名。类似java.lang.String,除此之外我们还需要知道这个类的构造函数,是否有参数,参数的类型各是什么。下面分两种情况无参构造函数Class clazz = null;try{ //这里forName方法可能会抛出找不到类的异常 clazz = Class.forNa...

2016-11-13 23:28:35 2027 1

空空如也

空空如也

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

TA关注的人

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