自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

云游老道的博客

少年侠气,交结五都雄。肝胆洞,毛发耸。立谈中,死生同。一诺千金重!

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

原创 【JVM】JVM调优可配置参数及配置时机和原则

JVM优化在决定配置什么参数时,应根据应用的性能指标、监控数据和具体需求来决定。例如,如果应用在高并发环境下运行,可能需要优化线程参数;如果应用需要处理大量数据,可能需要调整内存管理和垃圾回收参数。配置参数时,应遵循最佳实践,并在生产环境中进行充分的测试。

2024-04-15 19:04:54 690

原创 【JVM】不同场景下JVM调优手段及代码优化建议

在Java应用程序的开发和运维过程中,JVM调优是一个不可避免的环节。它不仅能够提升应用程序的性能,还能确保系统的稳定性和可靠性。本文将详细探讨在什么场景下JVM需要调优,针对这些场景我们可以采取哪些手段,以及什么样的代码会影响JVM的运行效率,同时提供一些代码优化的建议。

2024-04-15 17:45:24 837

原创 【JVM】JVM的垃圾回收机制与垃圾回收器的选择

初步探讨JVM的垃圾回收机制,包括其工作原理、如何确定对象回收、可用的垃圾回收器以及如何进行垃圾回收器的选择与配置

2024-04-15 16:19:18 911

原创 【Java】隐式锁(synchronized):如何解决餐厅等座的并发难题

每一张桌子都代表着珍贵的共享资源,而每一位顾客(线程)都在争夺这些资源的使用权。本文将带你深入这场战争的幕后,揭示隐式锁在多线程环境下可能遇到的困境,并提供一系列巧妙的解决策略。准备好,让我们一起探索这场餐桌上的并发之旅吧!

2024-04-14 20:00:58 424

原创 【Java】如果把线程同步机制比喻成餐厅经理

要更好理解Java的线程同步机制,可以尝试通过餐厅经营的方式来进行类比。厨师(共享资源)在厨房里忙碌着,而顾客(线程)都在点菜和等待他们的食物。在这个场景中,同步机制就像是餐厅的经理,确保厨房运作有序,顾客得到他们的食物,而厨师能够高效地工作。

2024-04-12 22:19:11 281

原创 【Java】线程这个包裹的配送过程(线程生命周期)

如果要形象地理解线程从创建到终止的整个生命周期。我们可以把线程执行理解成一个包裹的运送过程。

2024-04-11 20:20:32 801

原创 【Java】线程邮局的三种用工方式对比

通过邮局的比喻,我们可以更形象地理解线程创建方式的优缺点。在实际的多线程编程中,开发者需要根据应用的具体需求和上下文来选择最合适的线程创建方法。无论是建立邮差团队、雇佣独立快递员还是运营邮件处理中心,目标都是提高邮件分发的效率、节省资源并确保邮件准时送达。

2024-04-10 23:30:09 444

原创 【Java】线程其实就是个邮局

想象一个繁忙的邮局,其中工作人员(线程)负责处理和分发邮件(任务)。每个工作人员都能够独立地处理邮件,但他们也可以协同工作,共同完成更大规模的分发任务。

2024-04-10 23:22:22 358

原创 【Java】用吃拉面的方式打开Java程序的执行流程

你还在为记不住Java程序的执行流程而苦恼吗?那你来对地方了,这篇博客将让你一次记住终生不忘。Java程序从启动JVM到执行main方法,再到程序结束的整个流程。每个步骤都是去吃兰州拉面过程中的每一个环节。

2024-04-09 19:39:52 194 1

原创 【Java】假如把集合体系看作购物中心

“Java集合广场”是一个多样性的地方,每层楼都代表了Java集合框架的不同层级,每个商店都代表了一种集合类型。顾客(开发者)可以根据自己的需求(编程任务),在合适的楼层和商店(接口和实现类)中找到他们需要的宝藏(数据结构)。

2024-04-09 17:07:26 906

原创 【Java】HashMap不就是一个图书管理员吗

假如HashMap是一个图书管理员。现在有一个图书馆,它由许多排列整齐的书架组成。每个书架都有一个编号,这些编号是从1开始的连续整数。图书馆的管理员需要帮助读者快速找到他们想要的书或者放置新书,他应该怎么做?

2024-04-09 16:03:55 435

翻译 【HotSpot虚拟机垃圾回收调优指南】8.并发标记清除(CMS)收集器(Concurrent Mark Sweep (CMS) Collector)

并发标记清除(CMS)收集器(Concurrent Mark Sweep (CMS) Collector)是为那些追求更短的垃圾收集时间停顿,并且能够在应用程序运行时与垃圾收集器共享处理器资源的应用程序而设计的。通常,一组相对较大的具有较长的生命周期的数据集(较大的老年代)运行在具有两个或更多处理器的机器上的应用程序将受益于此收集器的使用。CMS收集器通过命令行参数-XX:+USEconMar...

2019-04-23 17:57:27 840

翻译 【HotSpot虚拟机垃圾回收调优指南】7.并发GC(The Mostly Concurrent Collectors)

并发标记清除(CMS:Concurrent Mark Sweep)收集器和垃圾优先(G1)垃圾收集器是两种主要的并发收集器。The Mostly Concurrent Collectors为应用程序并发地执行一些昂贵(高消耗)的工作。G1垃圾收集器(G1 garbage collector):这种服务器风格的收集器适用于大内存的多处理器计算机。 它以高概率满足垃圾收集暂停时间目标同时,实现高吞...

2019-04-23 13:19:47 206

翻译 【HotSpot虚拟机垃圾回收调优指南】6.并行收集器(Parallel Collector)

并行收集器(Parallel Collector)(这里也称为吞吐量收集器(throughput collector))是与串行收集器(serial collector)类似的分代收集器(generational collector)。串行收集器(serial collector)和并行收集器(Parallel Collector)之间的主要区别是,并行收集器有多个线程,用于加速垃圾收集。使用...

2019-04-22 16:37:20 820

翻译 【HotSpot虚拟机垃圾回收调优指南】5.可选的收集器以及选择指南

到目前为止的讨论都是关于串行收集器(serial collector)的。Java HotSpot VM包含了三种不同类型的收集器,每种收集器分别具有不同的性能特征。目录一.串行收集器(Serial Collector)二.并行收集器(Parallel Collector)三.主要并发收集器(The Mostly Concurrent Collectors)1.G1垃圾收集器(...

2019-04-22 11:17:19 226

翻译 【HotSpot虚拟机垃圾回收调优指南】4.影响垃圾收集性能的因素

影响垃圾收集性能的两个最重要的因素是总可用内存和专用于年轻代的堆大小的比例。目录一.总堆(Total Heap)1.1.堆参数(Heap Options)影响分代(Generation)大小1.2.堆大小的默认值1.3.通过最小化Java堆大小来节省动态占用空间二.年轻代(Young Generation)2.1.年轻代(Young Generation)大小...

2019-04-19 17:19:31 299

翻译 【HotSpot虚拟机垃圾回收调优指南】3.垃圾收集器的实现

Java SE平台的一个优点是它使开发人员免受内存分配和垃圾收集的复杂性的影响。但是,当垃圾收集成为主要瓶颈时,理解实现的某些方面是非常有用的。垃圾收集器对应用程序使用对象的方式进行了假设,这些假设反映在可调参数中,这些参数可以在不牺牲抽象功能的情况下进行调整,以提高性能。目录一.分代垃圾收集二.分代三.性能注意事项四.吞吐量和占用空间测量一.分代垃圾收集当一个对象...

2019-04-19 13:59:55 190

翻译 【HotSpot虚拟机垃圾回收调优指南】2.Ergonomics

Ergonomics是Java虚拟机(JVM)和垃圾收集启发(如基于行为的启发)改进应用程序性能的过程。 JVM为垃圾收集器、堆大小和运行时编译器提供了与平台相关的默认选择。这些选择匹配不同类型应用程序的需要,同时需要使用较少的命令行来进行调优。此外,基于行为的调优动态地优化堆的大小,以满足应用程序的特定行为。 本节介绍这些默认选择和基于行为的调优。在使...

2019-04-17 11:52:19 259

翻译 【HotSpot虚拟机垃圾回收调优指南】1.垃圾回收调优介绍

从台式机上的小applet到大型服务器上的web服务,各种各样的应用程序都使用Java Platform, Standard Edition (Java SE)。为了支持这种多样化的部署,Java HotSpot虚拟机提供了多个垃圾收集器,每个垃圾收集器都是为了满足不同的需求而设计的。Java SE根据运行应用程序的计算机的类别选择最合适的垃圾收集器。然而,这种选择对每个应用并不是都是最佳的。针对...

2019-04-17 10:44:04 302

原创 数据库应用第十二章:SQL高级应用

一.什么是事务? 事务(TRANSACTION)是由对数据库的若干操作组成的一个逻辑工作单元,这些操作要么都执行,要么都不执行,是一个不可分割的整体。事务用这种方式保证数据满足并发性和完整性的要求。使用事务可以避免发生有的语句被执行,而另外一些语句没有被执行,从而造成数据不一致的情况。二.简述事务ACID原则的含义。 事务的处理必须满足4原则,即原子性(A)、一致性(C)、...

2018-07-05 10:54:22 1000

原创 数据库应用第十一章:数据备份、恢复和报表

一.什么是备份设备?物理设备标识和逻辑名之间有什么关系? 备份设备是用来存储数据库、事务日志或文件和文件组备份的存储介质。备份设备可以是硬盘、磁带或管道。物理备份设备指操作系统所标识的磁盘文件、磁带等,逻辑备份设备名是用来标识物理备份设备的别名或公用名称。使用逻辑备份设备名的优点是比引用物理设备名简短。二.4种数据库备份和恢复的方式分别是什么?(1)使用SQL Server Ma...

2018-07-05 10:44:20 627

原创 数据库应用第十章:存储过程和触发器

一.简述使用存储过程有哪些优缺点? 优点: (1)减少网络流量。 (2)提高系统性能。 (3)安全性高。 (4)可重用性好。 (5)课自动完成需要预先执行的任务。 缺点: 移植性较差,增加数据库服务器压力。 二.创建存储过程有哪些方法?执行存...

2018-07-05 10:32:14 466

原创 数据库应用第九章:数据完整性

一.说明主键、惟一键和外键的作用。说明它们在保证数据完整性中的应用方法。 1.主键是唯一识别一个表的每一记录,作用是将记录和存放在其他表中的数据进行关联, 并与外键构成参照完整性约束。 2.惟一键用于指明创建惟一约束的列上的取值必须惟一。 3.外键用于建立和加强两个表数据之间的链接的一列或多列。通过将保存表中主键值的 一列或多列添加到另一个表中,可创建...

2018-07-05 09:53:29 485

原创 数据库应用第八章:索引

一.简述表的索引的含义。 索引是由表中的一个或多个列生成的键值,是反映表中数据存储位置的指针。设计良好的索引可以快速确定表中数据的存储位置,能显著提高数据库的查询速度。二.创建索引的好处主要有哪些?创建索引好处主要是加快数据查询和加快表的连接、排序和分组工作。三.聚集索引与非聚集索引之间有哪些不同点?聚集索引会对表进行物理排序 非聚集索引不会对表进行物理排...

2018-07-05 09:33:08 569

原创 数据库应用第七章:查询和视图

一.为什么说视图是虚表?视图的数据存在什么地方?1.视图是虚表,它在存储时只存储视图的定义,而没有存储对应的数据。2.视图通过定义从基表中搜集数据,并展现给用户。3.数据存储在对应的数据表中。二.说明视图的优缺点。 优点:(1)视图能简化用户的操作; (2)视图机制可以使用户以不同的方式查询同一数据; (3)视图对数据库重构提供了一定程度的逻辑独立性...

2018-07-04 19:45:56 1589

原创 数据库应用第六章:T-SQL语言基础

一.T-SQL和SQL的关系是什么? SQL全称是"结构化查询语言(Structured Query Language),SQL是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。 T-SQL是标准 SQL 程式设计语言的增强版,它是用来让应用程式与SQL Server 沟通的主要语言。T-SQL提供标准SQL的DDL和DML 功能,加上延伸的函数...

2018-07-04 15:39:19 1159

原创 数据库应用第五章:安全与权限

一.简述SQL Server 2008的安全层次? 在SQL Server 2008中,数据的安全保护由4个层次构成。SQL Server 2008主要对其中的3个层次提供安全控制。下面分别对每个层次进行简介。(1) 远程网络主机通过Internet访问SQL Server 2008服务器所在的网络,这由网络环境提供某种保护机制。(2) 网络中的主机访问SQL Server ...

2018-07-04 15:03:55 335

原创 数据库应用第四章:表数据操作

一.删除表“employ”中的“employdate”列所使用的语句是什么? ALTER TABLE employ( DROP employdate)二.在SQL Server 2008中对数据使用SSMS图形化界面进行修改,与使用T-SQL修改数据,两种方法相比较,哪一种功能更强大、更为灵活?试举例说明。 各有优缺点,总体说来使用T-SQL修改数据功能更强大...

2018-07-04 14:51:35 2973

原创 数据库应用第三章:表的建立与维护

一.SQL Server 2008的常用的系统数据类型有哪些? 整型、浮点型、字符型、日期时间型、位数据类型、货币数据类型、二进制数据类型。二.如何理解表中记录和实体的对应关系?为什么说关系也是实体?在表中如何表示?1.实体是客观存在并且可以相互区别的事物,实体可以是具体的事物,也可以是抽象的事物。2.不同的事物是用不同的特征决定的,用来描述实体的特性称为实体的属性。3.表...

2018-07-04 11:47:46 782

原创 数据库应用第二章:数据库的建立与维护

一.SQL Server 2005中创建、查看、打开、删除数据库的方法有哪些?方法分别有两种即可以通过SQL Server Management Studio图形化界面实现,也可以通过SQL语句命令实现。二.SQL Server 2008的系统数据库有哪几种?功能是什么?系统数据库由master、model、msdb、tempdb和隐藏的Resource数据库组成。maste...

2018-07-04 11:22:23 1340

原创 数据库应用第一章:SQL Server简介

一. SQL Server 2008的系统数据库有哪几种?功能是什么? 【答案】 SQL Server 2008的系统数据库由master、model、msdb、tempdb和隐藏的Resource数据库组成。 master数据库:master数据库用于记录SQLServer2008中所有服务器级别的对象。这包括了服务器登录帐户、链接服务器定义以及端点。master数据库同时还记录服...

2018-07-04 11:09:28 1393

原创 java打包导出(zip格式)

public class ZipUtil { private static final String ZIP_NAME = "要生成的压缩包名字"; /** * 压缩多个文件成一个zip文件 * * <p>Title: compressionFile</p> * <p>Description: &lt...

2018-07-04 10:31:07 4720

原创 Java使用itextpdf导出PDF文件

1.iText是一个开源的API,但是需要注意,虽然iText是开源,如果你出于商业目的使用它,仍然需要购买商业许可证。你可以从http://itextpdf.com上免费获取iText的Java类库,iText库非常强大,支持HTML、RTF、XML以及PDF文件的生产,你可以在文档中使用各种各样的字体,并且,还可以使用同样的代码生成上述不同类型的文件。iText库包含一系列接口,可以生成不同字...

2018-06-27 14:41:35 3253

原创 Excel导入(POI)源码——模板导入+错误数据处理

Apache的Jakata项目的POI子项目,目前比较成熟的是HSSF接口,处理MSExcel对象。它不象我们仅仅是用csv生成的没有格式的可以由Excel转换的东西,而是真正的Excel对象,你可以控制一些属性如sheet,cell等等。

2018-06-27 13:57:00 6261

原创 【Redis(2)】Redis的持久化方式RDB和AOF配置

Redis结合使用RDB和AOF持久化可以提供数据的快速恢复和高完整性。然而,"高性能"是相对的,并且取决于具体的使用场景和系统资源。在实际部署中,应该根据工作负载、数据重要性、硬件能力以及对数据丢失的容忍度来调整配置。

2024-04-18 16:10:53 643

原创 【Redis(1)】Redis数据类型及使用场景

Redis是一个开源的,高性能的键值存储数据库。它以其出色的性能、丰富的数据类型和原子操作而闻名。Redis支持多种类型的数据结构,如字符串、列表、集合、有序集合和哈希,使其成为存储各种数据的理想选择。

2024-04-18 15:28:58 562

原创 【JVM】JVM调优配置案例(高性能模板)

这篇文章将提供一个JVM配置案例,适用于需要高性能和高稳定性的应用程序,如大型企业级应用、高流量的Web服务、大数据处理和分析任务等。

2024-04-15 20:00:29 789

原创 【JVM】如果把JVM看作一个图书馆,JVM的工作流程是不是就好理解多了?

通过一个形象的比喻,我们可以看到JVM如何管理Java程序的整个生命周期,从类的加载到执行,再到资源的清理和程序的退出。异常处理和并发控制确保了程序的稳定运行,而垃圾回收机制则保持了JVM的高效和整洁。监控和调试工具则帮助开发者优化程序性能,确保程序能够顺畅地运行。

2024-04-15 00:47:41 638

原创 【Java】电影院的synchronized大法

昨天,咱们把线程同步机制比喻成了餐厅经理来帮助大家理解。按照惯例,为了大家看起来没那么枯燥,今天我们通过观看电影的整个流程来形象化地解释`synchronized`关键字的作用和重要性。

2024-04-13 17:06:36 237 1

原创 Solr和ElasticSearch优缺点对比

有道云笔记有xmand文件。

2021-03-23 11:40:17 311

空空如也

空空如也

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

TA关注的人

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