2018-03-09本章我们将学到的知识点:1、异常处理机制   2、垃圾回收一、异常在程序运行过程中所发生的破坏了正常的指令流程的事件称为例外。 软件和硬件错误都可能导致他们的产生。例如:1、用户输入出错   2、所需文件找不到   3、运行时磁盘空间不够   4、内存不够   5、算术运算错误 (数的溢出,被零除…)   6、数组下标越界异常:是在程序执行过程中出现的一个事件,它中断了正常指令
背景作为浅谈JVM的垃圾收集(一)的后续文章,建议先看前文再来读这篇文章。前言上一篇文章介绍了三大垃圾收集算法,而垃圾收集器就是垃圾收集算法的具体实现。本文主要介绍垃圾收集器,重点介绍CMS、G1、ZGC和Shenandoah收集器实现的细节。年轻代收集器 Serial、ParNew、Parallel Scavenge 老年代收集器 Serial Old、Parallel Old、CMS收集器 特
转载 2023-12-18 20:27:26
78阅读
垃圾收集垃圾收集,不是Java语言的伴生产物。早在1960年,第一门开始使用内存动态分配和垃圾收集技术的Lisp语言诞生。关于垃圾收集有三个经典问题:哪些内存需要回收?什么时候回收?如何回收?垃圾收集机制是Java的招牌能力,极大地提高了开发效率。如今,垃圾收集几乎成为现代语言的标配,即使经过如此长时间的发展,Java垃圾收集机制仍然在不断的演进中,不同大小的设备、不同特征的应用场景,对垃圾收集
# Java代码生成器在线 在软件开发过程中,编写大量的重复性代码是一件枯燥且容易出错的事情。为了提高开发效率和代码质量,开发人员通常会寻找一些工具来生成代码。其中,Java代码生成器在线是一种常见的工具,它可以帮助开发人员快速生成Java代码。 ## 什么是Java代码生成器在线Java代码生成器在线是一种能够根据用户输入的信息,自动创建Java代码的工具。它通常具有图形用户界面,用户
原创 2023-07-18 06:25:32
173阅读
Java语言中,垃圾收集(Garbage Collection, GC)是自动的,而且内存的动态分配与回收技术都相当成熟,几乎不必用户去做任何事。但当需要排查各种内存溢出,内存泄漏问题时,当垃圾收集成为系统提高并发量的瓶颈时,我们就需要对GC的技术实施必要的监控和调节。首先,GC需要完成三件事情:哪些内存需要回收?垃圾收集器在对堆进行回收前,必须先判断这些对象是否是垃圾(即不可能再被任何途径使用
        了解了垃圾回收器的工作方式后,就知道了如何会使垃圾回收器变慢。使垃圾回收器变慢的最常见原因是由于分配了太多东西。每次遍历的根越多,回收就会越慢。这时,甚至部分回收也不会节约时间,尤其是在代0对象中大量存在分配的时候。因此在编写代码是要心中有数,将要进行多少分配。创建数组经常会生成不少可有可无的分配,使代码情况而定
文章目录概况垃圾代码书写准则获取徽章准则? 以一种代码已经被混淆的方式命名变量? 变量/函数混合命名风格? 不要写注释? 使用母语写注释? 尽可能混合不同的格式? 尽可能把代码写成一行? 不要处理错误? 广泛使用全局变量? 创建你不会使用的变量? 如果语言允许,不要指定类型和/或不执行类型检查。? 你应该有不能到达的代码? 三角法则? 混合缩进? 不要锁住你的依赖项? 函数长的比短的好? 不要测
在 GitHub 上有一个新项目,它描述了「最佳垃圾代码」的十九条关键准则。从变量命名到注释编写。这些准则将指导你写出最亮眼的烂代码。为了保持与原 GitHub 项目一致的风格,下文没有进行转换。读者们可以以相反的角度来理解所有观点,这样就能完美避免写出垃圾代码。当然,以下十九条垃圾代码书写准则并没有面面俱到,如果读者们发现有一些难以忍受的烂代码习惯,也可以留言发表你的看法。这是一个你的项目应该遵
转载 2024-01-10 20:01:35
326阅读
首先感谢 《Spring源码深度解析》郝佳,让我对spring源码有了更深的理解,本篇文章主要是对《Spring源码深度解析》解读的笔记以及自己对书本解读后的理解,本篇文章是对上面一篇Spring源码解析(2)之默认标签的解析(一)的衔接。⑥:解析子元素constructor-arg      constructor-arg的使用: <bean id="car"
# MySQL代码生成器在线 MySQL代码生成器在线是一种用于自动生成MySQL数据库表结构和相关SQL脚本的工具。通过简单的操作,用户可以快速生成所需的数据库表结构和SQL脚本,提高数据库设计和开发效率。本文将介绍MySQL代码生成器在线的使用方法,并提供代码示例和序列图来帮助读者更好地理解。 ## 什么是MySQL代码生成器在线 MySQL代码生成器在线是一种在线工具,用于生成MySQ
原创 2024-05-22 04:19:22
260阅读
# 代码生成器在线Python 在软件开发中,代码生成器是一种非常有用的工具,可以帮助开发人员自动生成重复性高的代码,提高开发效率。而在线Python代码生成器则为Python开发者提供了一种方便快捷的方式来生成Python代码。本文将介绍如何使用在线Python代码生成器,并给出一些实际示例。 ## 什么是在线Python代码生成器在线Python代码生成器是一个基于Web的工具,可以
原创 2024-05-02 06:31:49
381阅读
当初在一些公司做项目的时候,经常需要处理海量的功能页面。虽然在前后端上选择了SSH框架系统作为基础,但还是耗费了太多时间补代码,再加上业务需求并不明确,导致后期频繁的改动令人头大,当时就想,如果有一种方式能将精力集中到业务上就好了。所以,就有了做一个高效写码工具的想法。 当代年轻人就是这样,想要就去做。我在参考CMS网站时,发现很多都是能用模板填充的,且都是统一的实现方式。于是就能想到,
不知道大家有没有同感,日常工作中,有好多重复的工作,大多数都是在复制粘贴,只是操作的对象实体不同,每个模块最后变成了只是修改一下其中的属性,剩下的增删改查完全都是一样的,但就是修改这些属性简直是烦的要死,一个类里面要是有20个属性那简直要疯了。所以本人想到一个投机取巧的办法,想用代码生成代码,目前处于初级阶段,希望以后各路大神一起研究,完善出一款开源的代码生成器。以spring+springMV
关于Mybatis GeneratorMyBatis Generator (MBG) 是一个Mybatis的代码生成器 MyBatis 和 iBATIS. 他可以生成Mybatis各个版本的代码,和iBATIS 2.2.0版本以后的代码。 他可以内省数据库的表(或多个表)然后生成可以用来访问(多个)表的基础对象。 这样和数据库表进行交互时不需要创建对象和配置文件。 MBG的解决了对数据库操作有最大
此小工具是我突发奇想想的一个密码加密算法, 通过对一个小数的幂指数的不断迭代运算, 可以取得完全打乱字符排列的效果, 用户只要略微更改这密码初值,密码模板,计算指数中的任何一个, 所运算的结果都千差万别,毫无规律。该小工具完全采用原生js编写,方便用户更改代码, 没有应用任何外部资源, 完全可以断网使用。<!DOCTYPE html> <html> <head&gt
spring mvc只提供了服务端验证功能,客户端验证需要自己编写,这是一项重复枯燥的工作,所以考虑基于验证注解自动生成客户端验证代码一、自定义EL函数/** * 自定义EL函数调用 * * @author ouyang * */ public class OkweiEL { public static final String REDIS_PACKAGE = "wei.wap.f
转载 2024-02-26 12:55:33
78阅读
文章目录前言一、什么是UUID?二、什么是雪花算法?三、什么是MySql自增ID?四、优缺点对比五、应用场景六、总结 前言在数据库设计中,选择适当的主键类型对于数据的存储和查询效率至关重要。在MySQL中,有些开发者倾向于使用UUID(Universally Unique Identifier)或者雪花ID作为主键,以确保数据的唯一性。然而,这种做法并不总是推荐的,因为它们在性能、存储空间和索引
在开发 Java 应用时,使用 IDE 和代码生成工具可以极大提升开发效率。今天,我们将深入探讨如何在 IntelliJ IDEA 中集成和配置 Java 代码生成器插件。通过本文,您将能够轻松地完成环境准备、集成步骤、配置详解、实战应用、排错指南和性能优化。 ### 环境准备 在开始之前,确保您已经安装好 IntelliJ IDEA 和 JDK。若您使用不同平台,请按以下命令安装必要的依赖。
有些人在写Javascript时并不会去缩进代码,导致代码的可读性非常差,下面这个源码就是专为没有缩进过的JS代码所准备的,他可以将JS代码由杂乱无章变得井井有条,好了话不多说上源码。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-tr
转载 2023-07-02 22:44:38
160阅读
无垠式Java通用代码生成器软件介绍本软件是无垠式java通用代码生成器0.8.5(Code Name:Trinity 崔妮蒂)的全部源码。本软件是Java Web通用代码生成器平台,是通用的加快开发速度的工具。支持s2sh,s2shc和simplejee三个技术栈。开发环境是 Java 7开发工具 Eclipse JEE版全部源码在GPL v2版条款下开源,GPL v2的文本记录在gpl2.tx
  • 1
  • 2
  • 3
  • 4
  • 5