自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

彩虹地带

程序员学习过程中的思考总结

  • 博客(15)
  • 资源 (4)
  • 收藏
  • 关注

原创 开篇语

其实自己一直对写文字是很有兴趣的,也曾经在上大学的时候,坚持写过一阵子的博客,但后来上班之后,由于自己的懒惰,渐渐的荒废掉了这一习惯。产生想自己写博客这一想法,其实很简单。一篇篇记录自己心路历程的文章,会在时间过去许久之后,当你再次把它们拿在手中的时候,发生的种种情景,历历在目,那种感觉是多么的美妙!想起小的时候,我们也会在家长睡觉之后,在一盏台灯下,偷偷写下属于自己的文字,那里面有我们年少时的秘

2012-07-03 18:56:09 832

原创 看了这篇文章,Java虚拟机面试吊打面试官

​Java虚拟机是参考操作系统而创建的,用于运行Java程序代码。Java虚拟机把源代码编译好的.class文件,加载到Class Loader,.class文件中的数据信息存储在运行时数据区。运行时数据区由方法区、Java栈、本地方法栈、堆、程序计数器组成。其中Java栈、本地方法栈、程序计数器是每一个线程所独有的,堆和方法区是所有线程共享的。

2024-04-08 11:30:20 626

原创 看这一篇就够了,全网最全、最强分析Spring是如何创建对象的

如果没有用Spring框架,程序员创建对象的方式有以下5种方式:使用new关键字。 使用Class的newInstance()方法。 使用Constructor的newInstance()方法。 使用clone()方法。 使用反序列化。虽然这些方式都能实现创建一个对象,但在当今的应用开发中对于频繁使用到的类(比如dao层对象),如果频繁的创建对象,无形中会加剧内存的产生,对系统性能产生影响,而且也是不利于管理的。为了解决上述提到的痛点,Spring就应运而生,并且业界在进行企业级开发的时候,都

2023-12-21 09:18:03 39

原创 线程的生命周期

创建WaitingState类,此线程会在一个while(true)循环中,获取当前类Class对象的synchronized锁,也就是说,这个类无论创建多少个实例,synchronized锁都是同一个,并且线程会处于等待状态。一个线程从创建,到最终的消亡,需要经历多种不同的状态,而这些不同的线程状态,由始至终也构成了线程生命周期的不同阶段。为了更好的理解线程的生命周期,以及生命周期中的各个状态,接下来使用代码示例来输出线程的每个状态信息。启动各个线程,验证各个线程输出的状态,代码如下所示。

2023-08-23 12:23:39 68

原创 Spring创建对象的过程

当我们用以下代码创建一个Spring容器时,都做了什么呢?在AnnotationConfigApplicationContext的构造方法中会调用this()构造方法。在这个构造方法中会实例化一个ClassPathBeanDefinitionScanner对象。这个扫描器对象的scan()方法,就是用来扫描用户在xml中配置的信息或者在配置类上标注的注解。scan()方法里的核心方法是doScan(basePackages)。

2023-07-29 16:30:13 205

原创 Kafka Producer 初始化

使用kafka向MQ中发送数据,首先需要构建一个Producer(生产者)实例。我们一般在自己的代码中直接调用Producer类的构造函数进行创建,这也是Kafka进行Producer初始化的入口,我们先来用一个流程图来分析一下Producer初始化的流程。接下来把构建KafkaProducer实例的核心过程用一个脑图来梳理一下。以上就是KafkaProducer初始化的核心流程。

2023-03-10 16:21:51 276

原创 kafka内存池设计的艺术

在新版的Kafka Producer中,设计了一个内存缓冲池,在创建Producer时会默认创建一个大小为32M的缓冲池,也可以通过buffer.memory参数指定缓冲池的大小,同时缓冲池被切分成多个内存块,内存块的大小就是我们创建Producer时传的batch.size大小,默认大小16384,而每个Batch都会包含一个batch.size大小的内存块,消息就是存放在内存块当中。该方法的作用根据给定的size,在BufferPool中分配一个buffer。新版本的kafka是由Java语言实现的。

2023-01-06 15:43:48 463 1

原创 这一次我真的懵逼了

我这半年在一家零售行业公司做研发工作,合同签订了三年,试用期是半年。因为知道在新冠疫情的大背景下工作难找,对于这个工作机会格外的珍惜,并且兢兢业业。经过了无数的员工培训,转正答辩,疫情影响小区封控的情况下,居家办公也丝毫没有怠慢,连续两个项目保证质量,往前赶项目进度,甚至提前项目生产上线。5月22日收到了转正的邮件,成为了正式员工,转过天,5月23日就被领导和HRBP约到会议室,进行解约谈判。我一下子不知道怎么回答了。追问他们给我一个合理的理由,得到的理由是疫情影响,许多的项目进不来,要进行优化。试问,疫情

2022-05-31 14:11:16 103

原创 AbstractQueuedSynchronizer 源码分析 (基于Java 8)

AbstractQueuedSynchronizer 定义AbstractQueuedSynchronizer 是JUC 中通过 Sync Queue(并发安全的 CLH Queue),Condition Queue(普通的 list) , volatile 变量 state 提供的控制线程获取统一资源(state) 的 Synchronized 工具。...

2020-04-26 22:04:14 164

原创 Netty学习总结(一)

如果用Java语言进行网络程序开发,有BIO(阻塞式IO)和NIO(非阻塞式IO)两种方式。用一个场景来解释BIO就是,你打电话给朋友拜托他去做一件事情,交代完之后,你没有挂断电话,而是一直等着他给你回信。而NIO则是交代之后,挂断电话去做别的事情,等朋友完成任务之后,在打电话通知他。通过上面的场景描述,给人感觉使用NIO进行网络编程,更加符合现实生活的习惯,以及更加的高效。除此之外如果处理几...

2019-09-16 15:22:11 152

原创 初识IoC

Spring的两大核心概念一个是InversionofControl,一个是DependencyInjection。我们先来梳理一下什么是IoC?IoC的抽象概念是“依赖关系的转移”。例如程序中有两个类A和B。A类中要使用B类中定义的方法,我们通常的做法是在A类中实例化B类一个对象,从而达成调用B类方法的目的。这样做会产生什么问题呢?这样的设计方式,会让A类依赖于B类,也就是说高层模块不应该...

2019-04-08 11:25:25 138

原创 Mybatis总结(一)

对原生态jdbc程序中问题总结如下面代码所示,使用JDBC操作数据库,会有什么什么问题呢?package cn.itcast.mybatis.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultS...

2019-02-13 10:56:00 128

原创 一文搞懂K-means聚类算法(理论+实现)

导读:k-均值算法(英文:k-means clustering),属于比较常用的算法之一,文本首先介绍聚类的理论知识包括什么是聚类、聚类的应用、聚类思想、聚类优缺点等等;然后通过k-均值聚类案例实现及其可视化有一个直观的感受,针对算法模型进行分析和结果优化提出了二分k-means算法。最后我们调用机器学习库函数,很短的代码完成聚类算法。理论介绍聚类 什么是聚类统计数据分...

2018-09-13 10:33:40 8702 2

原创 Python学习笔记---开发环境搭建

网络上面可以搜到很多python如何搭建开发环境的文章,不过这些都不是我自己写的文章。借着学习python的机会,把学习过程中需要把握的知识一一记录下来,以备不时之需,对自己的成长也是大有裨益的。

2017-12-05 16:33:10 309

原创 扪心自问语

我按照中国的传统,把农历新年作为新年伊始,经过了一周的休息,体力稍有恢复,为了实现理想,还要继续的奋斗。由于自己平日的懒散,和碎片时间利用率低下,坚持写个人博客这一良好的习惯被荒废掉了。在2013年我想把它恢复过来。在这里要澄清两点:首先,写个人博客不是为了炫耀自己的文字有多么的优美,其次,更不是想像一个怨妇一样,用写博客的方式来抱怨生活。恢复写博客的目的其实是想通过写博客的方式,来说出自己内心深

2013-02-18 18:30:43 477

mybatis-demo

MyBatis入门示例,告诉大家如何快速的使用这一个轻量级的持久化解决方案。

2016-06-16

Hadoop权威指南(第三版)

Hadoop权威指南(第三版),是英文原版书籍!是本人目前正在阅读的书籍。

2016-03-04

在线点餐系统

系统使用JavaBean+Servlet技术,数据库使用JDBC访问方式。绝对可用!

2012-12-24

BBS论坛设计论文

一份非常详尽的系统设计文档,只要低价就可以分享,获得宝贵经验。

2012-04-12

空空如也

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

TA关注的人

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