- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 深入理解代理模式原理与技术
如何理解代理模式?思考抽象问题最好的办法就是具体化!比如我们需要为一个业务方法在执行前后记录日志,为了达到解耦的目的,我们可以再新建一个类并定义一个新的业务方法,该方法既可以调用原业务方法,又可以在调用前后进行日志处理,例如:代理模式的应用很多,比如Spring容器的延迟加载,AOP增强处理等。一、静态代理静态代理是由程序员创建或工具生成代理类的源码,再编译代理类。所谓...
2018-10-30 19:07:51 1210 1
原创 Kafka中的时间轮算法讲解
零、时间轮定义简单说说时间轮吧,它是一个高效的延时队列,或者说定时器。实际上现在网上对于时间轮算法的解释很多,定义也很全,这里引用一下朱小厮博客里出现的定义:参考下图,Kafka中的时间轮(TimingWheel)是一个存储定时任务的环形队列,底层采用数组实现,数组中的每个元素可以存放一个定时任务列表(TimerTaskList)。TimerTaskList是一个环形的双向链表,链表中的每...
2018-10-29 22:44:22 3036 1
原创 Java垃圾回收机制小结以及优化建议
Java的内存是不用我们开发者自己来管理的,这个大家都知道,但是那它到底是怎么运作的呢? 我们都知道GC,也就是垃圾回收机制,但到底什么是GC。 我们一起来看看。什么是GC垃圾回收是一种自动的存储管理机制。当一些被占用的内存不再需要时,就应该予以释放,以让出空间,这种存储资源管理,称为垃圾回收(garbage collection)。垃圾回收器可以让程序员减轻许多负担,也减少程序员犯错的机...
2018-10-27 19:12:35 651
原创 Java多线程入门篇
1 说到线程,首先来说下进程,以下是进程的定义:进程是操作系统结构的基础,是程序的一次执行,是一个程序及其数据结构在处理机上顺序执行时所发生的活动,是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。简单来说一个任务管理器中列表的一个exe文件就可以理解成进程,如QQ.exe就是一个进程,进程是受系统管理的基本运行单元。1.1 什么是线程?线程是操作系统能够...
2018-10-27 14:13:57 525
原创 Java架构师的升级之路
一、技术本身不产生价值,业务才会,论技术和业务的整合一般会把架构分为技术架构和业务架构,这里我无意对比这两类的优劣,但我只想说,在公司里,是靠业务价值创造盈利点的,所以技术,比如消息队列,内存优化,以及分库分表数据库集群等,只有嵌入到业务里,才能通过提升业务的可扩展性或性能,从而产生价值。上述似乎是废话,但恰恰是架构师工作的难点,大家可以想象一下,比如通过MyCat搭建个分库分表架构不难,...
2018-10-24 12:16:19 1435 2
原创 Java反射重要吗?
反射是框架设计的灵魂(使用的前提条件:必须先得到代表的字节码的Class,Class类用于表示.class文件(字节码))一、反射的概述JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的...
2018-10-22 14:13:59 2627
原创 记一次阿里Java电话面试的题目
1.自我介绍 2.为什么离职这些不关技术的事情我就不叙述了(把lz的经历的公司都问了个遍,就问为什么离职。。。好煎熬)下面正式切入技术问题,只记了个大概,暂且写出来,并附上答案(只是lz拙见,不做深入探讨)。3.集合HashMap、HashTable、ConcurrentHashMap区别面试官:你了解集合吗?lz:了解呀!面试官:说说HashMap、HashTable有什...
2018-10-22 11:33:58 6360
TP6+swoole4开源客服系统,支持微信网页、H5端、PC端客服接入,商家端有PC端管理、H5端、App端接待等功能
2024-09-24
嵌入式开发框架,事件驱动,超级轻量 最低占用ROM1.5KB,RAM172字节 核心技术是事件总线,支持Reactor和状态机
2024-09-24
ZRouter是基于鸿蒙Navigation系统路由表和Hvigor插件实现的动态路由方案,以解决模块间的耦合问题
2024-09-24
这是一个可以通过RTT或者串口与MCU进行数据交互的软件 它具有log过滤、log多颜色支持、中英文显示等功能
2024-09-24
全自动视频翻译 项目!该项目旨在提供一个简单易用的自动识别、翻译工具和其他视频辅助工具,帮助快速识别视频字幕、翻译字幕
2024-09-24
一款开源轻量级的网站应用防火墙
2024-09-24
小型javascript/ecmascript解释器
2024-09-24
MinerU是一款将PDF转化为机器可读格式的工具(如markdown、json),可以很方便地抽取为任意格式
2024-09-24
G6 是一个图可视化框架 它提供了一套图可视化的基础设置,能帮助开发者搭建属于自己的图 图分析 应用或是 图编辑器等
2024-09-24
前后端分离架构SpringBoot 2.x3.x,SpringCloud,Ant Design&Vue3,Mybatis,Shi
2024-09-12
Java快速开发平台,不仅是开发框架,是一个企业级低代码解决方案,支持国产化,基于Spring Boot在线代码生成功能
2024-09-12
web/h5/移动端PDF预览插件 可手势缩放、懒加载 支持npm install和script标签引入
2024-09-12
fastsearch 一个golang实现的全文检索引擎,支持持久化和单机亿级数据毫秒级查找
2024-09-12
BLEComm基于Windows10新加入的的BLE通讯API编写完成,可以完成设备搜索、服务及特征读写等基本蓝牙调试功能
2024-09-12
Python-office 是一个 Python 自动化办公第三方库,能解决大部分自动化办公的问题
2024-09-11
一款开源的软件成分分析工具,用于扫描项目的开源组件依赖、漏洞及许可证信息,为企业及个人用户提供低成本、高精度的供应链安全解决方案
2024-09-11
最优雅的 Alipay/WeChat/Unipay 的支付 SDK 扩展包
2024-09-11
一个功能丰富且易用的Java工具库,通过诸多实用工具类的使用,旨在帮助开发者快速、便捷地完成各类开发任务
2024-09-11
基于 .NET 技术的Ant Design实现
2024-09-11
国内人气最高的Java人工智能算法框架 它可以Maven一键丝滑引入我们的Java项目,无需任何额外的环境配置与依赖,做到开箱即
2024-09-11
一个灵活可配置的开源监控平台,主要用于监控应用程序、服务器、docker、数据库、网络、tcp端口和http接口
2024-09-10
建木是一个面向DevOps领域的极易扩展的开源无代码(图形化)/低代码(GitOps)工具
2024-09-10
开源运维平台:面向中小型企业设计的无 Agent的自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、等一系列功能
2024-09-10
一个易用友好的开源实时监控告警系统,无需Agent,高性能集群,兼容Prometheus,提供强大的自定义监控和状态页构建能力
2024-09-10
方便快捷易用的Nginx可视化UI网页管理部署配置工具系统,使用Web网页系统来快速配置部署
2024-09-10
GeekAI 是基于 AI 大语言模型 API 实现的 AI 助手全套开源解决方案,自带运营管理后台,开箱即用
2024-09-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人