好吧,我承认我比较懒~ 但是发现不把一些学习成果与工作经验记录下来,我会慢慢将它们遗忘掉,最后一无所有。新年回来,2011从今天开始重新积累吧。
市面上的技术书籍琳琅满目,但哥坚信“有代码有真相”,所以,源代码才是最好的学习材料,先不说Java庞大的开源社区提供的充斥着各种设计模式与创新思路的框架代码,就JDK源代码本身就是一部博大精深的技术圣经。去看
转载
2024-02-25 15:24:41
26阅读
了解Java程序的文件结构在Java中,一个程序经常由多个类组成,每个类通常被保存在一个独立的文件中。那么,Java程序文件应该如何组织呢?一般来说,Java程序的文件结构如下:1. 源代码文件:Java程序的源代码通常保存在以.java为扩展名的文件中,其中每个文件对应一个类,文件名必须与类名相同。例如,一个名为Hello.java的文件中,应该只包含一个名为Hello的类。2. 编译后的字节码
转载
2023-08-14 19:11:05
27阅读
初识netty概述Netty是由JBOSS提供的一个java开源框架,现为 Github上的独立项目。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。 也就是说,Netty 是一个基于NIO的客户、服务器端的编程框架,使用Netty 可以确保你快速和简单的开发出一个网络应用,例如实现了某种协议的客户、服务端应用。Netty相当于简化和流
转载
2024-01-21 06:48:03
0阅读
海外跑腿系统采用微服务架构,将系统拆分为多个独立的服务,每个服务负责一个特定的业务领域,如用户服务、跑腿员服务、订单服务、支付服务等。:用户对跑腿服务
原创
2024-09-18 15:58:27
0阅读
FreeBSD完整的内核代码在FreeBSD的 “/sys”目录下。其中,FreeBSD 的 Boot Manager代码是 sys/boot/i386/boot0/boot0.s,它是FreeBSD自带的Boot Manager,其功能虽然不如Linux的lilo和Grub功能强大,但它只需按一个键就可以引导,界面直观。小小的512字节,可以给你一个简单明 了的启动选择界面,还能记住
简单Echo案例注释版代码地址:netty代码是netty的源码,我添加了自己理解的中文注释。了解了Netty的线程模型和组件之后,我们先看看如何写一个简单的Echo案例,后续的源码讲解都基于此案例。以下是服务端的代码:public final class MyEchoServer {
static final int PORT = Integer.parseInt(System.get
转载
2023-07-29 21:30:04
153阅读
文章目录1:反射概述 2:Class对象特点 3:
原创
2021-11-26 09:51:45
169阅读
1. 初次看源码的童鞋,需要静下心来一步步走,多尝试几次就可以,一定要稳住。2. 先理解什么是HashMap在JDK1.7和之前,HashMap使用的数据结构是数组+ 链表,JDK1.7之后,使用的数据结构是数组+ 链表/红黑树,红黑树的插入,查找,删除等操作,平均复杂度均为O(logn)。哈希表添加,删除,查找等操作,性能十分之高,不考虑哈希冲突,时间复杂度为O(1)即可完成。
原创
2022-10-21 16:31:17
73阅读
前言 == HashMap是Java程序员使用最多的数据结构之一,同时也是面试必问的知识点,随着JDK的进化与发展,JDK 1.8也对底层实现进行了优化,例如引入红黑树的数据结构和扩容的优化等。本文将结合JDK 1.7和1.8的源码,深入探讨HashMap的结构实现和功能原理,篇幅有些长请耐心看完。 简介 == HashMap和ArrayList一样也是继承一个实现一个,继承
原创
2021-11-26 11:18:34
175阅读
package NewCollections;
import java.io.Serializable;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.AbstractMap;
import java.util.Map;
import java.util
转载
2021-09-08 10:32:24
112阅读
# Spark源码详细讲解指南
作为一名刚入行的小白,理解Spark的源码可能会让你感到困惑。为了帮助你更好地掌握这一过程,我将通过一个简单的流程图和详细代码讲解来引领你逐步进行。
## 实现流程
以下是实现“Spark源码详细讲解”的基本步骤:
| 步骤 | 描述 |
|------|------|
| 1 | 理解Spark的架构与组件 |
| 2 | 设置开发环境 |
|
原创
2024-10-26 04:48:41
45阅读
ArrayList源码解析 简介 ArrayList是Java集合框架中非常常用的一种数据结构。继承自AbstractList,实
转载
2021-04-15 15:24:00
195阅读
2评论
ArrayList源码解析 简介 ArrayList是Java集合框架中非常常用的一种数据结构。继承自AbstractList,实现了List接口。底层基于数组来实现动态容量大小的控制,允许null值的存在。同时还实现了RandomAccess、Cloneable、Serializable接口,支持 ...
转载
2021-04-15 15:24:00
186阅读
2评论
海外货运系统采用微服务架构,将系统拆分为多个独立的服务,每个服务负责一个特定的业务领域,如订单服务、运输服务、仓储服务、报
原创
2024-09-18 15:58:03
80阅读
文章目录1.List接口的特性2.List接口的源码解析3.相关子类介绍3.1 ArrayList3.1.1 成员变量3.1.2 构造方法3.1.3 常用增删改查方法添加元素查询元素更新元素删除元素3.1.4 小结一下3.2 LinkedList3.2.1 成员变量
原创
2021-04-24 20:41:22
573阅读
MapReduce之自定义分组一、需求说明二、测试数据三、编程思路四、实现步骤五、打包上传到集群中运行 一、需求说明说明: 分组是一种特殊的比较器,对key做比较,并进行归并,类似于合并同类项,也类似于SQL中的分组查询要求: 通过自定义分组比较器实现将emp.csv中的数据按照部门号分成三个分组,并显示出每组的人员名称, 最终显示的结果格式如下所示: <10,CLARK1;KING1;M
安装ant(1)下载地址:apache-ant-1.10.5-bin.zip,如图:(2)解压直接解压即可,例如解压到E:\apache-ant-1.10.5(3)配置变量如下添加ANT_HOME环境变量ANT_HOME=E:\apache-ant-1.10.5在Path变量最后添加%ANT_HOME%\bin(4)验证打开命令窗口执行ant -vers...
原创
2021-07-13 14:28:56
736阅读
简述SSM框架的集成主要是Spring和MyBatis的集成,SpringMVC和Spring天然集成。1.在IDEA新建一个Maven项目
图1. 创建web-app
1.2 创建确实的文件夹,结构如下
图2.文件夹结构
2.添加相关依赖2.1 配置pom.xml<properties>
<project.build.source
Thread直接创建线程的弊端
在开始解析ThreadPoolExecutor类之前,让我们先来了解直接创建线程所带来的弊端。在Java中,线程是资源密集型对象,每当需要并发执行任务时,直接创建新线程会带来以下问题:
资源消耗
每个线程都需要分配堆栈内存等资源。在线程数量增多时,资源开销会随之增大,严重时会导致系统性能下降甚至崩溃。
稳定性问题
线程数量无上限地增长,操作系统需要调度的线程数也会无
原创
精选
2024-04-26 08:33:40
239阅读
1.List接口的特性java.util.List接口继承于Collection接口,与Map最大的不同之处,在于它属于单列集合,相当于一个列表,有以下这些特点:有顺序,按照添加的顺序存储,是一种线性结构。可以根据索引查询元素。元素可以重复。Anorderedcollection(alsoknownasa<i>sequence</i>).Theuserofthisinter
原创
2021-03-22 17:10:03
505阅读