Java代码优化方案 I
一.性能优化 III
一.new关键字的使用 III
二.使用非阻塞I/O III
三.慎用异常 III
四.不要重复初始化变量 III
五.尽量指定类的final修饰符 III
六.尽量使用局部变量 III
七.乘法和除法 III
八.选择合适的引用机制 III
九.在spring中对orm层的动作设置只读属性 III
十. Servlet与内存使用 III
十一. H
转载
2023-08-30 16:09:27
89阅读
缓存是改善网站性能的第一个手段(页面缓存,数据源缓存、数据缓存)索引是改善数据库性能的第一个手段(为经常查询的字段添加索引)
原创
2022-11-23 13:13:15
38阅读
默认情况下,WebStorm会在你输入代码时进行分析,并高亮显示当前文件中发现的所有问题。它的主要目标是减少IDE的总体索引时间和CPU使用率,因此请确保在“Settings | Plugins”的“Installed”选项卡上启用了Shared Project Indexes插件。可以转到“Settings | Editor | Inspections”,找到“未使用的全局符号检查(Unused global symbol)”,取消选中。这些插件支持我们大多数用户的应用场景,但你不需要的插件可以禁用。
背景在JDK1.8之前,我们经常会遇到下面这几种场景:无法传入方法,只能传入对象Thread thread = new Thread(new Runnable() {
@Override
public void run() {
System.out.println(Thread.currentThread());
}
});即使是简单方法,也仍然需
转载
2024-02-08 15:37:32
26阅读
Java8 新特性:1、Lamdba表达式 2、函数式接口 3、方法引用和构造引用 4、Stream API 5、接口中的默认方法和静态方法 6、新时间日期API 7、Optional8、其他特性Java8 优势:速度快、代码更少(增加了新的语法 Lambda 表达式)、强大的 Stream API、便于并行、最大化减少空指针异常 Optional;一、Lambda表达式Lambda 是一个匿名函
转载
2023-10-20 12:49:59
28阅读
Lambda表达式 Lambda表达式也称闭包,允许把函数作为一个方法的参数(函数作为参数传递进方法中),或者把代码看成数据。Lambda表达式用于简化java中接口式匿名内部类。被称为函数式接口的概念。函数式接口就是一个具有一个方法的普通接口。像这样的接口,可以被隐式转换为Lambda表达式。语法:(参数1,参数2...)->{...}1、没有参数使用Lambda表达式 2、带参数时使用L
转载
2023-05-30 23:10:43
123阅读
g = lambda x:x+1 看一下执行的结果: g(1) >>>2 g(2) >>>3 当然,你也可以这样使用: lambda x:x+1(1) >>>2 可以这样认为,lambda作为一个表达式,定义了一个匿名函数,上例的代码x为入口参数,x+1为函数体,用函数来表示为:def g(x):
return
转载
2024-03-04 14:37:57
100阅读
前言我是个喜欢看电子书的人,因为可以边看边记笔记,写感言,对书中精彩的地方进行学习实践,
非常感谢本书作者家智老师,分享了这本书的最新电子版,让我有机会能阅读本书!本书正版链接:Java系统性能优化实战一周目1 java系统优化1 一段代码的优化// 原代码
public Map buildArea(List<Area> areas){
if(areas.isEmpty())
转载
2023-07-25 22:21:22
63阅读
说在前面:
众所周知,JDK8 已经不算新了,甚至已经步入“老年代”了,但我们不可否认的是,目前大多数企业还在使用这个jdk版本。后面的工作中,小名可能会应用到它,之前也有所了解,前段时间正好得空,有机会系统的梳理一下相关知识点。 文章将分为两部分:
第一部分,小名将带大家简单了解一下JDK8中一些关于lambda的知识; 第二部分,小名将通过 Stream 特性写一些例子;
第
转载
2023-09-21 08:47:31
171阅读
前言:一个优秀开发的必备技能:性能优化,包括:JVM调优、缓存、Sql性能优化等。本文主要讲基于Mysql的索引优化。 首先我们需要了解执行一条查询SQL时Mysql的处理过程:其次我们需要知道,我们写的SQL在Mysql的执行顺序是怎么样的?sql的执行顺序对sql的性能优化很有帮助,很重要。在建立复合索引的时候需要考虑到这点。例:在tb_dept中建立一个复合索引 idx_parent_id_
转载
2024-06-12 22:16:16
77阅读
对于上次【】已经初步引入的Java8中Stream流的概念,其中使用了map的操作,它需要接受一个Function这样的函数式接口,回顾一下: 而这次专门对Function这个函数式接口进行进一步学习,因为这个函数式接口是比较重要的,先查看一下该接口的javadoc: 另外还有三个方法,两个默认方法、一个静态方法: 乍一看
1缩小锁的作用范围2分离锁3使用线程安全的数据结构4降低锁的可见度。5使用Plumber的自动死锁检测解决方案两个月前向Plumbr公司引进线程死锁的检测之后,我们开始收到一些类似于这样的询问:“棒极了!现在我知道造成程序出现性能问题的原因了,但是接下来该怎么做呢?”我们努力为自己的产品所遇到的问题思考解决办法,但在这篇文章中我将给大家分享几种常用的技术,包括分离锁、并行数...
转载
2021-08-10 11:49:56
143阅读
1. 匿名内部类实现匿名内部类仍然是一个类,只是不需要程序员显示指定类名,编译器会自动为该类取名。因此如果有如下形式的代码,编译之后将会产生两个class文件:public class MainAnonymousClass {
public static void main(String[] args) {
new Thread(new Runnable(){
@Override
转载
2023-08-24 19:52:29
137阅读
QCustomPlot采用了诸如自适应采样和文本对象缓存之类的各种技术,以减少重新绘制所需
原创
2022-03-01 10:25:06
1185阅读
QCustomPlot采用了诸如自适应采样和文本对象缓存之类的各种技术,以减少重新绘制所需的时间。但是,某些功能(如复杂的半透明填充和粗线)仍会导致速度显着下降。如果您在应用程序中注意到这一点,这里有一些有关如何提高重复打印性能的提示。到目前为止,大部分时间都花在了绘图功能上,尤其是在绘制高密度图和其他绘图表时。为了获得最佳性能,请考虑以下几点:特别是在图形,粗线,半透明颜色下/之间使用复杂的填充时:通过QCustomPlot :: setOpenGl启用QCustomPlot的OpenGL硬件加速渲
原创
2021-06-04 21:27:18
10000+阅读
建议60:性能考虑,数组是首选 一、分析 数组在实际的系统开发中使用的越来越少,我们通常只有在阅读一些开源项目时才会看到它们的身影,在Java中它确实没有List、Set、Map这些集合使用起来方便,但是在基本类型处理方面,数组还是占优势的,而且集合的底层也是通过数组实现。 二、场景 比如对一个数据
转载
2016-04-21 20:11:00
53阅读
2评论
查找算法:在java中,常用的查找算法有四种:1、顺序(线性)查找2、二分查找(必须掌握)3、插值查找4、斐波拉契查找(黄金分割点查找)① 顺序查找:思路一:找到第一个值为value的数的下标public static int seqSearch(int[] arr, int value) {
// 线性查找是逐一比对,发现有相同值时,返回下标
for (int i = 0; i <
转载
2023-08-15 20:51:03
80阅读
不小心被我看到的一篇好文,转了————
通过 ulimit 改善系统性能
ulimit 功能简述
假设有这样一种情况,当一台 Linux 主机上同时登陆了 10 个人,在系统资源无限制的情况下,这 10 个用户同时打开了 500 个文档,而假设每个文档的大小有 10M,这时系统的内存资源就会受到巨大的挑战。
而实际应用的环境要比这种假设复
转载
精选
2011-03-25 14:14:34
554阅读
系统性能一直是一个受关注的话题,如何通过最简单的设置来实现最有效的性能调优,如何在有限资源的条件下保证程序的运作,ulimit 是我们在处理这些问题时,经常使用的一种简单手段。ulimit 是一种 linux 系统的内键功能,它具有一套参数集,用于为由它生成的 shell 进程及其子进程的资源使用设置限制。本文将在后面的章节中详细说明 ulimit 的功能,使用以及它的影响,并以具体的例子来详细地
翻译
2012-05-20 21:33:03
337阅读
孙 翎, 软件工程师, WSO2 Inc
叶 光昶, 软件工程师, EMC
潘 宁河, 软件工程师, EMC
简介: 本文介绍了 ulimit 内键指令的主要功能以及用于改善系统性能的 ulimit 使用方法。通过这篇文章,读者不仅可以了解 ulimit 所起的作用,并且可以学会如何更好地通过 ulimit 限制资源的使用来改善系统性能。
转载
精选
2012-12-22 18:33:55
182阅读