- 浏览: 463069 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (369)
- javascript html (20)
- java (31)
- jquery (15)
- jcrop (0)
- JEECG (1)
- ajax (3)
- 反射 (3)
- VI (1)
- mysql (48)
- easyui (1)
- svn (2)
- MD5 加密 (1)
- spring (14)
- ORACLE (8)
- 经验总结 (1)
- TCP/IP协议 (1)
- ICMP协议 (1)
- eclipse (1)
- Reflect (1)
- linux (21)
- android (5)
- excel 操作 (1)
- java tree (1)
- html (1)
- plupload (1)
- mongodb (9)
- aes (1)
- python (1)
- java relax (1)
- highcharts (2)
- json (2)
- java 多线程 (30)
- maven (2)
- 设计模式 (1)
- jsp+js (2)
- 面向对象 (1)
- jvm (16)
- 缓存 (1)
- proxy (1)
- 聊侃 (1)
- 面经 (1)
- java 字节 (1)
- java 类加载器 (2)
- java 基础 (2)
- java 语法糖 (1)
- java 位运算 (1)
- 排序 (3)
- java 服务器性能优化 (19)
- 网络编程 (2)
- jvm 参数设置 (0)
- jersey (1)
- webservice (2)
- nginx+多tomcat 集成 (5)
- nginx (16)
- squid (3)
- memcached (5)
- 正则表达式 (1)
- 常用免费接口 (1)
- jpa (1)
- win7 (1)
- java处理大文件 (1)
- js正则表达式 (1)
- tomcat (1)
- java 敏感字 (1)
- 系统架构优化 (4)
- 学习 (1)
- 本地测试QQ微博第三方登陆 (1)
- java 错误 (1)
- 微信支付 (1)
- https (1)
- httpclient (1)
- awk (2)
- loadrunner (1)
- sql server 2008 (3)
- git (4)
- sql server2008 (1)
- solr (2)
- centos (1)
- 数据存储架构 (3)
- log4j (1)
- weboffice (1)
- 并发编程 (1)
- postgreSQL (0)
- ssl (1)
- openssl (1)
- activeMQ (2)
- IDEA (1)
- shell (1)
- ansible (4)
- docker (2)
- grafana (1)
- jmeter (1)
- TLS (1)
- 将博客搬至CSDN (1)
最新评论
-
dida1990:
啊喔,过去了这么久,不过还是评一个。谁说uuid的hashCo ...
高并发生成订单号(二) -
annan211:
yclovesun 写道使用了uuid,为什么还要machin ...
高并发生成订单号(二) -
yclovesun:
使用了uuid,为什么还要machineId?uuid已经可以 ...
高并发生成订单号(二) -
u013280917:
太深奥,看不懂
mysql优化特定类型的查询
Java 原生的语法糖中存在很多种 易于阅读,效率略低的方案,我们可以适当改写。
比如 switch 语法糖。
int re = 0; for(int i=0;i<10000000;i++){ re = switch(i); } protected int switch(int z){ int i = z%10+1; switch(i){ case 1: return 3; case 2:return 6; case 3:return 7; case 4:return 8; case 5:return 10; case 6:return 16; case 7:return 18; case 8:return 20; default:return -1; } }
switch 本身的性能并不差,但是仍存在可以提高的空间,尤其在随机次数比较大的高频调用中。
我们可以换一种思路,来取得比较可观的效果。
int re = 0; int [] sw = new int[]{3,6,7,8,10,16,18,20}; for(int i=0;i<100000000;i++){ re = arrayInt(sw,i); } protected int arrayInt(int []sw,int z){ int i = z%10+1; if(i>7 || i<1){ return -1;// 缺省值 }else{ return sw[i]; } }
这种思路 相比与switch 分支判断来说,效率有所提升,因为对数据的随机访问是非常快的。
发表评论
-
Java高效读取大文件
2015-01-22 19:45 6311、概述 本教程将演示如何用Java高效地读取大文件。 ... -
winSCP 服务器 在线联网
2015-01-09 18:05 7101 新建 bb.bat 文件 里面是你的服务器 列表 ... -
JDK 命令行工具
2014-10-22 14:47 806JDK 命令行工具 实现在tools.jar文件 ... -
windows 监控工具
2014-10-22 11:23 5381 windows 监控工具 运行-perfmon ... -
Amino 框架简介
2014-10-17 11:30 1431对数据加锁是实现多线程的一种策略,但是加锁无疑会增加系 ... -
Java 重入锁(ReentrantLock)和内部锁(synchronized)
2014-10-16 15:44 1599ReentrantLock 和 synchronize的 ... -
Java 锁分离
2014-10-16 15:35 1339读写锁思想的延伸就是锁分离。读写锁根据读写操作功能上 ... -
java 高性能运算-- 双端队列
2014-10-15 16:04 1051JDK 1.6中 提供了一种双端队列,简称 Dequ ... -
java 高性能运算--并发队列
2014-10-15 15:33 2493JDK 提供了两套并发队列的实现,一个是以 Conc ... -
java 高性能运算--量化线程池的大小
2014-10-15 11:42 1330线程池合理的长度取决于将要提交的任务类型和所部署系统的 ... -
java 高性能运算--展开循环
2014-10-14 15:43 1227可以优化的地方实在是太多了,只要你愿意去想,去尝试。代码 ... -
java 高性能运算--位运算代替乘除法
2014-10-14 15:03 3956位运算 是公认的 高效运算,在高频计算中,可以使用位运算 ... -
Java 中的弱引用
2014-10-14 14:31 564简单一点说,我们建议使用 WeakHashMap 在系 ... -
Stirng 字符串 原生方法 charAt 与 startWith
2014-10-11 11:23 767charAt(int index) 与 startWit ... -
比 StringTokenizer 更加优化的字符串分割
2014-10-11 11:05 1095上篇文中说到,StringTokenizer 是相对比较 ... -
Java 分割字符串 StringTokenizer
2014-10-10 19:15 705字符分割 jdk建议使用 split或者 正则表达式,但是追求 ... -
String 类的一点认识
2014-10-10 18:52 792String 是Java中相当强大的类,虽不属于基本类型 ... -
java 负载均衡
2014-10-09 19:10 967负载均衡的概念比较广。 具体可参见 http ...
相关推荐
3. **JEP 382: Vector API**:预览版的Vector API提供了一种高性能的向量运算方式,利用硬件加速,提高计算密集型代码的性能。 4. **JEP 383: Strongly-Typed HTTP Client**:引入了一个新的HTTP客户端API,提供了...
### Java编程军规详解 #### 引言 Java作为一种广泛使用的编程语言,在软件开发领域扮演着极其重要的角色。为了确保代码质量,提升程序的健壮性和可维护性,制定一套行之有效的编程准则显得尤为必要。“Java编程...
- **替代方案**: 可以通过`break`和`continue`结合标签来实现类似`goto`的功能。 #### 3. `&`和`&&`的区别 - **`&`**: 是按位与运算符,也可以用于布尔表达式中表示逻辑与操作。当两边的条件都为真时结果为真,...
- **替代方案**:可以通过使用`break`或`continue`来实现类似的功能,或者通过其他结构化编程技术实现更复杂的流程控制。 #### 3. `&`和`&&`的区别 - **`&`**:按位与运算符,也可以用于布尔表达式的逻辑与运算。 ...
1. **基础语法**:Java的基础语法是学习者必须掌握的首要内容,包括变量声明、数据类型(如整型、浮点型、字符型、布尔型以及引用类型)、运算符(算术、比较、逻辑、位运算等)、流程控制(如if-else、switch、for...
5. `switch`语句不能直接作用于`byte`,因为Java 7之前`switch`只支持`byte`, `short`, `char`, `int`和枚举类型。Java 7以后添加了对`String`的支持,但不支持`long`。 6. 对于`short s1 = 1; s1 = s1 + 1;`,由于...
1. 基础语法:Java的基础语法包括变量定义、数据类型(如整型、浮点型、字符型、布尔型以及引用类型)、运算符(算术、比较、逻辑、位运算等)、流程控制语句(如if-else、switch、for、while、do-while)以及方法的...
- `StringBuilder`性能更高,适用于单线程环境。 **Math随机数问题** - `Math.random()`返回一个介于0.0(含)至1.0(不含)之间的双精度值。 - 生成特定范围内的随机数需要进一步处理。 **Strings="a"+"b"+"c...
- **定义**:当某些操作的成本很高时,通过分析一系列操作的平均成本来评估算法的整体性能。 #### 三、线性表 **3.1 线性表及抽象数据类型** - **3.1.1 线性表定义** - **定义**:n个数据元素的有限序列。 - *...
**1.4 Java与指针**:与C/C++不同,Java没有指针概念,使用引用替代,简化内存管理同时避免了许多潜在错误。 #### 数据结构与算法基础 **2.1 数据结构** - **基本概念**:数据结构是计算机存储、组织数据的方式,...
自 JDK 1.4 版本以来,Java 的性能不断优化,成为历史上最为成熟的版本之一。 Java 与 C 语言相比,具有明显的差异。Java 的标识符规则更宽松,可以以字母、下划线或美元符开头,后续可跟这些符号和数字。在数据...
Java使用结构化控制流(如if、while、for、switch)来替代goto。 3. &和&&的主要区别在于短路逻辑。&是按位与运算符,用于处理二进制位;而&&是逻辑与运算符,只有当左侧表达式为真时才会评估右侧表达式,这在条件...
在Java中,控制流程语句如if、switch、for、while等是编写逻辑的重要工具。此外,异常处理也是Java编程不可或缺的一部分,try-catch-finally结构用于捕获和处理运行时错误,确保程序的健壮性。 函数和方法是Java...
- **替代方案:** 可以使用break和continue等关键字来实现类似的功能。 **3. 说说&&与&的区别?** - **逻辑运算符&&:** 表示逻辑与操作,短路运算。如果第一个表达式为false,则第二个表达式不会被计算。 - **位...
- **循环中避免使用低性能方式拼接字符串:** 使用StringBuilder或StringBuffer替代字符串拼接操作。 - **避免使用递归:** 除非特殊情况,否则应避免使用递归,以防栈溢出。 - **sleep()参数控制:** 合理设置...
Java Development Kit (JDK) 是Java编程语言的核心组件,它为开发者提供了编译、调试和运行Java应用程序所需的所有...虽然Java 8及更高版本已经推出,但针对特定需求和兼容性考虑,JDK 1.7.80仍具有不可替代的价值。
通过NDK可以创建高性能的底层模块,并与Java代码无缝集成。 #### 2. JNI (Java Native Interface) JNI是Java平台标准的一部分,为Java代码提供了调用本地C/C++代码的能力。在Android开发中,可以通过JNI来实现Java...