- 浏览: 195085 次
- 性别:
- 来自: 杭州
博客专栏
-
Percolator与分布...
浏览量:5674
文章分类
最新评论
-
heglase:
好牛逼 竟然解决了我别的问题
使用jdk工具tools.jar引发的问题 -
wqcva:
在使用这个类的时候workerId应该怎么传
java时间有序id生成 -
沙漠绿树:
增加虚拟节点解决数据均衡的问题。我有个疑问:1.使用虚拟节点后 ...
一致性hash的实现 -
BucketLi:
wangjian95 写道tddl.....?不是
java唯一ID生成 -
wangjian95:
tddl.....?
java唯一ID生成
看代码过程中一些细节记录,不断补充。质量可靠,开发高效的捷径在于使用一些成熟的库和代码,并且了解其特性和主要原理,特别是工具类。
1.向左补充特定字符
2.值为null抛IllegalArgumentException
3.截取特定字符之前的字符串
4.匹配任意一个字符
5.将一个类转换成一个特定格式的string
6.反射设置值之前让字段可访问
7.拷贝同一个类的对象之间字段
8.对collection进行排序
9.fastJson转换json String到特定对象
10.使用String format字符串
11.使用apache commons 包的RandomUtil进行随机数选择
12.按某个分隔符拼接字符串列表
13.获取Collection中最小值
14.拷贝两个对象之间的同名属性,不需要对象类型一致
15.有时候使用系统启动时设置的系统变量也能达到不错的效果
16.单点到单点(可能有HA)的面向对象编程可以使用rmi来(比如spring)做通讯
17.有时候可以内嵌jetty容器(org.eclipse.jetty)来构建web应用,特别是快速测试阶段,具备动态代码更新的能力
18.使用spring的时候不一定使用init-method方式初始化bean,也可以实现InitializingBean接口实现afterPropertiesSet()的方式初始化。
19. 添加shutdownhook在程序关闭的时候做一些操作
20.得到异常的整个堆栈
21.得到内存使用率
22.大量产生String的时候,并且有很大概率相同的时候,可以用intern优化
23.不可变map
24.根据host获取ip
25.获取原始类型数据,valueOf是多了一个装箱操作
26.直接读取文件内容为string的便利方法
27.多行join成一行
28.可以使用apache的Configuration来load各种配置,其有很多便利功能
29.使用apache的StringUtils截取字符串
30.google guava包中的一些有用的细节
1.向左补充特定字符
StringUtils.leftPad(String.valueOf(i), startStr.length(), '0')
2.值为null抛IllegalArgumentException
Assert.notNull(mode);
3.截取特定字符之前的字符串
StringUtils.substringBefore(rawValue, "[")
4.匹配任意一个字符
StringUtils.containsAny(value, new char[] { '*', '?', '+', '|', '(', ')', '{', '}', '[', ']', '\\', '$','^', '.' })
5.将一个类转换成一个特定格式的string
ToStringBuilder.reflectionToString(this);
6.反射设置值之前让字段可访问
ReflectionUtils.makeAccessible(field);
7.拷贝同一个类的对象之间字段
BeanUtils.copyProperties(this, globalParmeter);
8.对collection进行排序
Collections.sort(processIds);
9.fastJson转换json String到特定对象
JSON.parseObject(json, targetClass);
10.使用String format字符串
private static final String PATH = "/destinations/%s"; private static final String CURSOR_PATH = PATH + "/%s/cursor" String path = String.format(CURSOR_PATH, destination, String.valueOf(clientId));
11.使用apache commons 包的RandomUtil进行随机数选择
this.index = RandomUtils.nextInt(this.managerAddress.size());
12.按某个分隔符拼接字符串列表
String addr = StringUtils.join(node.getParameters().getZkCluster().getServerList(), ',');
13.获取Collection中最小值
Collections.min(progress.keySet())
14.拷贝两个对象之间的同名属性,不需要对象类型一致
BeanUtils.copyProperties(authenticationInfo, datasourceInfo);
15.有时候使用系统启动时设置的系统变量也能达到不错的效果
String nid = System.getProperty(NID_NAME);
16.单点到单点(可能有HA)的面向对象编程可以使用rmi来(比如spring)做通讯
RmiServiceExporter export = new RmiServiceExporter(); export.setServiceName("endpoint"); export.setService(this);// 暴露自己 export.setServiceInterface(CommunicationEndpoint.class); export.setRegistryHost(host); export.setRegistryPort(port); export.setAlwaysCreateRegistry(alwaysCreateRegistry);/
17.有时候可以内嵌jetty容器(org.eclipse.jetty)来构建web应用,特别是快速测试阶段,具备动态代码更新的能力
<dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-webapp</artifactId> </dependency>
public void start() throws Exception { Resource configXml = Resource.newSystemResource("jetty.xml"); XmlConfiguration configuration = new XmlConfiguration(configXml.getInputStream()); server = (Server) configuration.configure(); Handler handler = server.getHandler(); if (handler != null && handler instanceof WebAppContext) { WebAppContext webAppContext = (WebAppContext) handler; webAppContext.setResourceBase(JettyEmbedServer.class.getResource("/webapp").toString()); } server.start(); if (logger.isInfoEnabled()) { logger.info("##Jetty Embed Server is startup!"); } }
18.使用spring的时候不一定使用init-method方式初始化bean,也可以实现InitializingBean接口实现afterPropertiesSet()的方式初始化。
19. 添加shutdownhook在程序关闭的时候做一些操作
Runtime.getRuntime().addShutdownHook(new Thread() { public void run() { } });
20.得到异常的整个堆栈
ExceptionUtils.getFullStackTrace(e));
21.得到内存使用率
MemoryUsage memoryUsage = ManagementFactory.getMemoryMXBean().getHeapMemoryUsage();
22.大量产生String的时候,并且有很大概率相同的时候,可以用intern优化
sql.toString().intern();// intern优化,避免出现大量相同的字符串
23.不可变map
Collections.unmodifiableMap(parameters);
24.根据host获取ip
InetAddress.getByName(hostName).getHostAddress();
25.获取原始类型数据,valueOf是多了一个装箱操作
Double.parseDouble(xx);
26.直接读取文件内容为string的便利方法
String json = FileUtils.readFileToString(dataFile, charset.name());
27.多行join成一行
String ruleStr = StringUtils.join(IOUtils.readLines(resource.getInputStream()), SystemUtils.LINE_SEPARATOR);
28.可以使用apache的Configuration来load各种配置,其有很多便利功能
PropertiesConfiguration config = new PropertiesConfiguration(); config.load(new FileInputStream(conf));
29.使用apache的StringUtils截取字符串
StringUtils.substringAfter(conf, CLASSPATH_URL_PREFIX);
30.google guava包中的一些有用的细节
this.queries = ImmutableList.copyOf(checkNotNull(queries, "queries is null")); HostAndPort host = HostAndPort.fromString(server); Splitter NAME_VALUE_SPLITTER = Splitter.on('=').limit(2).trimResults(); MapSplitter TAGS_SPLITTER=Splitter.on("\n").trimResults().withKeyValueSeparator('=') checkArgument(name.indexOf('=') < 0, "Session property name must not contain '=': %s", name); ImmutableList.builder() .add("suite") .add("query") .addAll(tagNames) .add("wallTimeP50") .add("wallTimeMean") .add("wallTimeStd") .add("processCpuTimeP50") .add("processCpuTimeMean") .add("processCpuTimeStd") .add("queryCpuTimeP50") .add("queryCpuTimeMean") .add("queryCpuTimeStd") .add("status") .add("error") .build() Joiner.on('\t').join(values);//value是list MoreObjects.toStringHelper(this) .add("name", name) .add("tags", tags) .toString(); Map<Type, String> SQL_TYPES = ImmutableMap.<Type, String>builder() .put(BOOLEAN, "boolean") .put(BIGINT, "bigint") .put(DOUBLE, "double precision") .put(VARCHAR, "varchar") .put(VARBINARY, "varbinary") .put(DATE, "date") .put(TIME, "time") .put(TIME_WITH_TIME_ZONE, "time with timezone") .put(TIMESTAMP, "timestamp") .put(TIMESTAMP_WITH_TIME_ZONE, "timestamp with timezone") .build(); int jitter = ThreadLocalRandom.current().nextInt(100);//jdk自带的
发表评论
-
Spring Validator 部分注解说明
2021-01-30 17:13 347@AssertFalse Boole ... -
Mac 安装 OpenJDK
2019-07-17 08:05 820现在 ORACLE 新版本 JDK 越发越快,新版本固然好,但 ... -
git fork 分支合并原分支
2019-06-27 10:35 11181. List the current configured ... -
Cobar内存快速检测tips
2017-11-07 17:20 410很长时间没有使用mat,技巧生疏,趁这次使用Cobar(htt ... -
ORACLE CDC增量同步初始化
2016-09-07 22:29 756// Step 1 Find the source tab ... -
一些文章
2015-09-04 14:38 0http://www.biaodianfu.com/herme ... -
java资源加载
2015-04-22 10:04 592tips下。 this.getClass().getReso ... -
使用jdk工具tools.jar引发的问题
2015-04-22 09:31 1723这里tips下这个问题 之前本地开发机使用jdk7进行开发和 ... -
eclipse for mac快捷键
2015-02-26 13:16 702Command + O:显示大纲 Command + D:删除 ... -
zookeeper client的一些操作
2014-11-07 12:30 7261.登陆 ./zkcli.sh -server 127.0.0 ... -
java获取类版本和检查重复代码
2014-10-13 21:59 1383public final class Version { ... -
java程序启动的一些设置
2014-09-19 11:14 01. 开启debug,suspend值设置成y会等待debug ... -
java_web开发tips
2014-07-21 09:44 01.这两天接手一个新的应用,打算在上面开发几个api,因为功能 ... -
信息安全基础
2014-07-21 09:46 740转自某微博,这边tips下,虽然很不完全,但是有一些思路 信 ... -
java 的一些排序方法(转)
2014-07-21 09:48 713一些java排序方法,记录下。 package com.ta ... -
Shift-And和Shift-Or ByteBuffer匹配器
2012-09-07 18:15 1514两个ByteBuffer的匹配算法java实现,原作者 庄大侠 ... -
一个简单的BufferPool
2012-08-31 10:15 955一个简单的buffer分配和收集代码,将一大段buffer分片 ... -
一个典型md5生成工具类
2012-08-23 09:27 1151import java.io.UnsupportedEnc ... -
Java程序员常用工具集(转)
2012-08-31 10:18 1027转自庄大侠(killme2008)的博客,我这边收藏下。 原 ... -
spring mvc的参数获取(转)
2014-09-26 11:54 621原文地址:http://www.blogjava.net/wm ...
相关推荐
本资料“java代码细节总结1.0版本.zip”是针对Java编程的一些关键知识点和最佳实践的详细概述,旨在帮助开发者提升代码质量和效率。以下是根据提供的文件名“java代码细节总结1.0版本.md”可能涵盖的一些核心Java...
代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候必须考虑每个可以优化的细节了,一个一个细小的优化点累积起来,...
- **在“Selection”栏目中选择要导出JAVA代码的类**:可以通过选择特定的类来导出相应的JAVA代码。 - **点击“确定”**:完成导出操作。导出完成后,系统会弹出一个提示框显示导出文件的存放目录。 示例截图如下...
【标题】:“把wsdl文件或地址转化成java代码工具” 在软件开发中,Web服务是一种通过网络(通常是HTTP)交换数据的方式。WSDL(Web Services Description Language)是描述Web服务的标准XML格式,它定义了服务的...
在某些情况下,开发者可能需要将已有的C++代码转换为Java代码,以便在Java平台上运行或利用Java的生态系统。 标题“C++代码转Java工具”暗示了一个软件或服务的存在,它的功能是自动化C++源代码到Java源代码的转换...
Java代码和Smali代码是两种不同的编程语言,它们在Android应用开发中扮演着不同角色。Java是高级语言,而Smali是Dalvik虚拟机(DVM)的汇编语言,通常用于逆向工程和安全分析。这个“Java代码直接转化成Smali代码...
在Java编程语言的世界里,对细节的掌握是提升代码质量、效率和可维护性的关键。这篇集合了关于Java编程的一些重要细节,旨在帮助开发者更好地理解和运用这个强大的后端语言。以下是一些基于提供的文件名和标签所衍生...
对于那些需要频繁查看或分析Java代码的开发者来说,这是一款不可或缺的辅助工具。 在实际应用中,此工具可以广泛应用于以下场景: 1. **逆向工程**:当没有源代码的情况下,需要分析或修改已有的二进制Java程序,...
【标题】"onvif wsdl转成java代码"涉及的主要知识点是ONVIF协议、Web服务描述语言(WSDL)以及Java编程在服务端开发中的应用。 ONVIF(Open Network Video Interface Forum,开放网络视频接口论坛)是一种全球性的...
从【部分内容】中可以看出,文档涉及到了Java代码审查的相关细节,尤其是代码中的常见错误以及如何在审查过程中发现并修复这些错误。以下是对这部分内容的详细解读和知识点总结。 1. 代码审查的目标和意义 代码审查...
本文将深入探讨在Qt平台上如何实现C++与Java代码的交互。 首先,理解C++与Java交互的基本原理至关重要。这种交互通常通过JNI(Java Native Interface)来实现,它允许Java代码调用本地(如C++)代码,反之亦然。JNI...
- **知识点解释**:标题中提到这是“经典的资料,书籍”,这意味着这些Java代码不仅限于简单的示例,可能还包含了更深入的理论知识和技术细节。 - **实践意义**:结合书籍中的理论知识来实践代码,可以让学习者更加...
5. **代码审查**:在代码审查或团队协作时,折叠功能有助于集中讨论重点部分,避免无关细节的干扰。 "说明.txt"文件应该是提供关于如何安装和使用该插件的指南。通常,这会包括以下步骤: 1. **下载插件**:获取...
在这个“课程设计Java代码”的资源中,我们可以期待一系列与Java学习相关的实践示例,这些示例涵盖了从基础到进阶的各个阶段。 首先,让我们了解一下Java的基础知识。Java程序由类组成,类是对象的模板。类定义了...
Java 代码性能优化技巧总结 Java 代码性能优化是每个 Java 开发者都需要掌握的重要技能。以下是对 Java 代码性能优化的各种技巧的总结: 字符串池的实现 在 Java 中,字符串池(String Intern Pool)是通过使用...
在这个"java一些细节知识"的压缩包中,包含了一份名为"java test.doc"的文档,我们可以期待它涵盖了作者个人测试后总结的Java关键知识点。以下是对这些可能包含的内容的详细解释: 1. **变量与数据类型**:Java支持...
6. **注释**:好的源代码通常包含清晰的注释,帮助解释代码的功能和实现细节。 通过深入学习和理解这些源代码,你可以增强对Java编程的理解,进一步提升编程技能。同时,这也是一个很好的机会去实践代码阅读和调试...
总的来说,WinMerge作为一款优秀的Java代码比较工具,它的强大功能和易用性使其成为开发人员不可或缺的助手,尤其是在代码管理和协同开发的过程中。掌握并熟练使用WinMerge,无疑能够提升开发效率,降低出错概率,...
以下是对`java代码优化细节总结1.0版本`的一些核心知识点的阐述: 1. **避免冗余计算**:在Java编程中,如果一个值在多处被使用,应当将其存储在变量中,避免重复计算,提升执行速度。 2. **减少对象创建**:频繁...