1.javaç¨åºåç¨ä»ä¹è½¯ä»¶å代ç ï¼
2.Java必修课判断String是否包含子串的四种方法及性能对比
3.不要再重复造轮子了!这17个Java常用工具类,让生产力爆表!
javaç¨åºåç¨ä»ä¹è½¯ä»¶å代ç ï¼
JAVAç¼ç¨åå¦,ç¨ä»ä¹è½¯ä»¶?
1ãæ°æ§ç¼ç¨ç°å¨ç¨çå¤çè¿æ¯MastercamãUGãCimtronãPowerMILLç软件ãå½å ä¹æCaxaï¼åèªç å¶ï¼ãNPUï¼è¥¿åå·¥ä¸å¤§å¦ç å¶ï¼çåè½ä¹å¾å¼ºå¤§ï¼éå大åä¸ç¨å·¥ä»¶çå å·¥ç¼ç¨ã
2ãJDK(JavaDevelopmentKit)JDKæ¯æ´ä¸ªJavaçæ ¸å¿ï¼å æ¬äºJavaè¿è¡ç¯å¢(JavaRuntimeEnvirnment)ï¼ä¸å Javaå·¥å ·åJavaåºç¡çç±»åº(rt.jar)ãä¸è®ºä»ä¹Javaåºç¨æå¡å¨å®è´¨é½æ¯å ç½®äºæ个çæ¬çJDKã
3ãä½æ¯ç°å¨é½ä½¿ç¨MyEclipseï¼å®å æ¬äºeclipseï¼è¿å æ¬äºå ¶å®æ¡æ¶ï¼æ¯å¦ï¼Strutsï¼Springï¼Hibernateçï¼æä»¥å»ºè®®ä½ ç¨MyEclipse6ï¼å¨ç½ä¸å°±å¯ä»¥å è´¹ä¸è½½ãæä½æ¹ä¾¿ï¼é常好ç¨ï¼å¼ºçæ¨èã
4ãjavaç¨IntelliJIDEAãNetBeans软件ç¼ç¨æ好ãIntelliJIDEAIntelliJIDEAï¼æ¯javaç¼ç¨è¯è¨å¼åçéæç¯å¢ã
Javaç¨åºåå¿ å¤çå¼åå·¥å ·æåªäº
MongoDBMongoDBæ¯ä½¿ç¨é常广æ³çå·¥å ·ï¼å ·æ跨平å°åé¢åææ¡£æ°æ®åºçä¼å¿ï¼æ¯ç°å¨ä½¿ç¨æå¤çä¸ç§æ°æ®åºãå¨ä½¿ç¨è¿ç¨ä¸ï¼æçµæ´»çæ档模åãé«å¯ç¨å¤å¶éãå¯æ©å±åçé群ï¼è¿è½è¿è¡å®æ¶çæ§çç¸å ³æä½ã
ServiceLoader-å è½½æå¡Javaå¼å人åé常å¸æåºå使ç¨ä»ä¹åå建ä»ä¹ï¼åé¾è§java课ç¨å¹è®æºæåç°é常æ¯éè¿å建ä¸ä¸ªæè¿°ç»ä»¶æä½çæ¥å£å使ç¨æç§ä¸ä»å建ç»ä»¶å®ä¾ã
ApacheCommonsLangApacheCommonsLangæ¯ApacheæèåçJAVAåºï¼å®æ¯å¯¹java.langçå¾å¥½æ©å±ï¼å å«äºå¤§éé常å®ç¨çå·¥å ·ç±»ï¼å ¶ä¸ç¨çæå¤çæStringUtilsï¼DateUtilsï¼NumberUtilsçã
Groovyæ们使ç¨Groovyæ¥åJavaæµè¯ã为ä»ä¹ï¼å 为å®æä¾äºä¸é¢è¿äºè½åï¼å®½æ¾çJavaè¯æ³ï¼è¿æ¯Javaè¯æ³ï¼ä½æäºå ¶ä»è§åï¼æ¯å¦åå·ï¼åéç±»åï¼è®¿é®ä¿®é¥°ç¬¦é½æ¯å¯éçã
ä½ å¥½ï¼ç®åjava主æµå¸¸ç¨çå¼åå·¥å ·æï¼Notepadï¼MyEclipseï¼IntllijIDEAã使ç¨é¾åº¦ä¾æ¬¡éæ¸éå¢ï¼å½ç¶è½å¤å®ç°çåè½ä¹è¶æ¥è¶å¤æåå¤æ ·ã
常ç¨çå·¥å ·æï¼Eclipseæ®æ°æ®æ¾ç¤ºå¾å¤Javaå¼å人åçJavaå¼åå·¥å ·ä¾¿æ¯Eclipseï¼è¿ä¸»è¦å¾çäºEclipseæ¯ä¸ä¸ªå¼æºçãå¯ä»¥åºäºJavaçå¯æ©å±å¼åå¹³å°ã
Javaç¨åºå常ç¨çå¼åå·¥å ·æåªäº?1ãSublimeTextæ¯ç±ç¨åºåJonSkinneräºå¹´1æ份æå¼ååºæ¥ï¼å®æå被设计为ä¸ä¸ªå ·æ丰å¯æ©å±åè½çVimãå®æ¯ä¸æ¬¾æ¶è´¹è½¯ä»¶ï¼ä½æ¯å¯ä»¥æ éæè¯ç¨ï¼å®æ¯ä¸ä¸ªè·¨å¹³å°çç¼è¾å¨ï¼åæ¶æ¯æWindowsãLinuxãMacOSXçæä½ç³»ç»ã
2ãjavaå¼åå·¥å ·JavaWorkshopSunMicroSystemså ¬å¸äºæ¨åºäºJavaWorkShop0ï¼è¿æ¯ä¸çåºç°ç第ä¸ä¸ªä¾Internetç½ä½¿ç¨çå¤å¹³å°å¼åå·¥å ·ï¼å®å¯ä»¥æ»¡è¶³åå ¬å¸å¼åInternetåIntranetç½åºç¨è½¯ä»¶çéè¦ã
3ãNetBasesæ¯javaå¼åæ¡é¢åºç¨ç¨åºç¨çãJBuilderæ¯å¼åWebåºç¨ç¨åºçï¼å å¹´åæ¯è¾æµè¡ï¼ä½æ¯JBuilderå¨javaç¼ç¨å·¥å ·ä¸ç»æ²»äºå¤§çº¦å¹´å·¦å³åï¼å®çå°ä½è¢«Eclipseæ¢èµ°äºãç°å¨ææµè¡çjavaå¼åå·¥å ·å°±æ¯Eclipseäºã
4ãGroovyæ们使ç¨Groovyæ¥åJavaæµè¯ã为ä»ä¹ï¼å 为å®æä¾äºä¸é¢è¿äºè½åï¼å®½æ¾çJavaè¯æ³ï¼è¿æ¯Javaè¯æ³ï¼ä½æäºå ¶ä»è§åï¼æ¯å¦åå·ï¼åéç±»åï¼è®¿é®ä¿®é¥°ç¬¦é½æ¯å¯éçã
5ã常ç¨çå·¥å ·æï¼Eclipseæ®æ°æ®æ¾ç¤ºå¾å¤Javaå¼å人åçJavaå¼åå·¥å ·ä¾¿æ¯Eclipseï¼è¿ä¸»è¦å¾çäºEclipseæ¯ä¸ä¸ªå¼æºçãå¯ä»¥åºäºJavaçå¯æ©å±å¼åå¹³å°ã
6ãç¨Javaå¼åç软件å¦ä¸ï¼Notepad++Notepad++æ¯Windowsæä½ç³»ç»ä¸çä¸å¥ææ¬ç¼è¾å¨ï¼æå®æ´çä¸æåæ¥å£åæ¯æå¤å½è¯è¨ç¼åçåè½ï¼UTF8ææ¯ï¼ã
javaç¨ä»ä¹è½¯ä»¶ç¼åJAVAç¼ç¨å¸¸ç¨ç软件ï¼IntellijIDEAIntellijIDEAæ¯å½åJavaå¼å人åå¼å£°å¾é«çä¸æ¬¾IDEï¼å ·æç¾è§ï¼é«æçä¼å¤ç¹ç¹ï¼å°ç¼è¿æ¯é常å欢çï¼æ以以å¾æé½æ¯å¨èªå·±çµèå®è£ è¿æ¬¾è½¯ä»¶çã
IntelliJIDEAï¼IntelliJIDEAæ¯ä¸æ¬¾ç»¼åçJavaç¼ç¨ç¯å¢ï¼è¢«è®¸å¤å¼å人ååè¡ä¸ä¸å®¶èªä¸ºå¸åºä¸æ好ç¨çIDEä¹ä¸ï¼ä¸MyEclipseé½åã
åå¦Javaä¹åï¼å¾å¤äººé½ä¸æ¸ æ¥éè¦ç¨å°åªäºè½¯ä»¶ï¼å¦ä¹ javaé¦å éè¦å¦ä¹ JDKï¼JDKæ¯ä¸ä¸ªç¼åJavaçAppletå°ç¨åºååºç¨ç¨åºçç¨åºå¼åç¯å¢ãJDKæ¯æ´ä¸ªJavaçæ ¸å¿ï¼å æ¬äºJavaè¿è¡ç¯å¢ï¼ä¸äºJavaå·¥å ·åJavaçæ ¸å¿ç±»åºã
ç¨myeclipseæè eclipseï¼è®°äºæ¬é½å¯ä»¥ãåå¦è çè¯ä¸å»ºè®®ä¸æ¥å°±ç¨IDEå¼åå·¥å ·æ¯å¦è¯´EclipseãMyEclipseãIntelliJIDEAãnetbeanãä½æ¯ä¹å¯ä»¥ä½¿ç¨è¿äºï¼ä¸å»ºè®®çåå ä¸ä¾¿äºä½ äºè§£JavaAPIï¼åç¸å ³çç¼è¯åçï¼ç¼è¯è¿ç¨ä¹ç±»çã
javaç¨IntelliJIDEAãNetBeans软件ç¼ç¨æ好ãIntelliJIDEAIntelliJIDEAï¼æ¯javaç¼ç¨è¯è¨å¼åçéæç¯å¢ã
Hadoopæ¯è¿è¡Javaç¼åç软件æ¡æ¶ï¼ä¸»è¦ä½¿ç¨å¨åå¸å¼åå¨ã对äºé常大çæ°æ®ï¼ç¨æ·å¯ä»¥å¨ä¸ç¥éåå¸å¼åºç¡çæ åµä¸è¿è¡å¼ååå¸å¼ç¨åºï¼å¹¶ä¸è½å¤ä½¿ç¨é群å®ç°é«é计ç®ååå¨ã
æä»ä¹java软件å¯ä»¥ç¼åjava?1ãIDEAä¹ä¸éï¼æ两个çæ¬ï¼å è´¹ççå¯ä»¥åJavaå¼åï¼å°±æ¯åé£ç§è·èµ·æ¥æ¯é»æ¡æ¡çJavaç¨åºï¼ä¹å¯ä»¥åAndroidå¼å(åAndroidæ´å¥½çéæ©å»googleä¸è½½AndroidStudio)ï¼ä»è´¹ççè¿å¯ä»¥åJ2EEå¼åã
2ãJavaDevelopmentKitï¼JDKï¼ï¼JDKæ¯Javaç¼åæå¿ éç软件å ãå®å æ¬Javaç¼è¯å¨ãJavaè¿è¡æ¶ç¯å¢åå ¶ä»å·¥å ·ï¼å¦JavaDocåJConsoleãJDKæä¾äºJavaAPIåå ¶ä»å¼åå·¥å ·ï¼ä½¿Javaç¼åæ´å 容æã
3ãIntellijIDEAIntellijIDEAæ¯å½åJavaå¼å人åå¼å£°å¾é«çä¸æ¬¾IDEï¼å ·æç¾è§ï¼é«æçä¼å¤ç¹ç¹ï¼å°ç¼è¿æ¯é常å欢çï¼æ以以å¾æé½æ¯å¨èªå·±çµèå®è£ è¿æ¬¾è½¯ä»¶çã
4ãJAVAç¼ç¨å¸¸ç¨ç软件ï¼Eclipseï¼Eclipseæ¯ä¸ä¸ªå¼æ¾æºä»£ç çãåºäºJavaçå¯æ©å±å¼åå¹³å°ãå°±å ¶æ¬èº«èè¨ï¼å®åªæ¯ä¸ä¸ªæ¡æ¶åä¸ç»æå¡ï¼ç¨äºéè¿æ件ç»ä»¶æ建å¼åç¯å¢ã
5ãjavaç¨IntelliJIDEAãNetBeans软件ç¼ç¨æ好ãIntelliJIDEAIntelliJIDEAï¼æ¯javaç¼ç¨è¯è¨å¼åçéæç¯å¢ã
6ã\x0d\NetBeans-SUNå ¬å¸èªå·±å¼åçJavaå¼åç¯å¢ï¼åè½æºå¤çã\x0d\è¿æä¸äºè¶ å欢æå·¥ç¼åJava代ç çç人å欢使ç¨å¸¦è¯æ³çè²åè½ç纯ææ¬ç¼è¾å¨ç¼åJavaç¨åºï¼ä»£ç åå®åå¨å½ä»¤æ示符ä¸ç¼è¯è¿è¡ã
Java必修课判断String是否包含子串的四种方法及性能对比
判断一个字符串是否包含某个特定子串是常见的场景,比如判断一篇文章是否包含敏感词汇、判断日志是aria源码和例程否有ERROR信息等。本文将介绍四种方法并进行性能测试。 在String的函数中,提供了indexOf(subStr)方法,返回子串subStr第一次出现的位置,如果不存在则返回-1。例子如下: 最直观判断的方法是contains(subStr),返回类型为boolean,如果包含返回true,不包含则返回false。帮打包网站源码例子如下: 实际上,String的contains方法是通过调用indexOf方法来判断的,源码如下: 通过强大的正则匹配来判断,虽然有点杀鸡用牛刀的感觉,但也不是不能用,例子如下: Apache的commons-lang3提供许多开箱即用的功能,StringUtils就提供了许多与字符串相关的功能,例子如下: 我们使用JMH工具来对四种方法进行性能测试,Maven引入代码如下: 测试代码如下: 测试结果如下: 最快的就是indexOf方法,其次是contains方法,二者应该没有实际区别,contains是调用indexOf来实现的。Apache的StringUtils为第三方库,相对慢一些。vb 放烟花 源码最慢的是使用了正则的Pattern的方法,这不难理解,正则引擎的匹配是比较耗性能的。 本文介绍了判断一个字符串是否包含某个特定子串的四种方法,并通过性能测试进行了对比。其中性能最好的是String的indexOf方法和contains方法,建议使用contains方法,性能好,跟indexOf相比,更直观,更不容易犯错。毕竟让每个人时刻记住返回-1代表不存在也不是一件容易的事。 但是,使用indexOf和contains方法都需要注意做判空处理,api php源码下载这时StringUtils的优势就体现出来了。 总结,四种方法如下:indexOf(subStr):返回子串第一次出现的位置,不存在返回-1。
contains(subStr):返回true或false,是否包含。
Pattern匹配:使用正则匹配,相对耗性能。
StringUtils.contains:Apache库提供,相对慢。
性能测试结果显示,indexOf和contains方法最佳,建议使用contains方法。Apache库的短视频源码破解StringUtils方法相对慢,正则匹配方法最慢。在使用方法时,注意处理空值问题。希望本文能帮助你更好地理解和使用这些方法。不要再重复造轮子了!这个Java常用工具类,让生产力爆表!
在Java编程的世界里,隐藏着许多实用的工具类,就像轮子一样,能大大提升我们的开发效率。今天,我将分享个在日常工作中不可或缺的Java工具,它们分布在Collections、CollectionUtils、Lists、Objects、StringUtils、Assert、IOUtils、MDC、ClassUtils、BeanUtils、ReflectionUtils、BaseUtils、StandardCharsets、DigestUtils、SerializationUtils和HttpStatus等类别中。1. Collections
从java.util.Collections开始,它提供了排序、查找最大值/最小值、线程安全集合转换以及创建/返回空集合等功能。比如,Collections.sort()可以轻松对集合进行排序。2. CollectionUtils
除了Collections,org.apache.commons.collections的CollectionUtils提供了集合判空、交集并集等操作,简化了复杂操作。Lists
引入guava或com.google.common.collect的Lists工具,能快速创建空集合、初始化元素、做笛卡尔积、分页处理,甚至转换流处理。Objects
Objects工具处理对象判空、空指针异常、相等判断和hashCode计算,让对象操作更加便捷。StringUtils
Apache Commons Lang的StringUtils提供了丰富的字符串操作,如判空、分割、判断纯数字、拼接字符串等。Assert
Spring的Assert类提供了断言工具,用于检查参数、集合和条件,增强代码的健壮性。IOUtils
Apache Commons IO的IOUtils简化了文件读写、拷贝和内容到字节数组的操作,避免了繁琐的异常处理。其他工具
MDC:线程安全的诊断日志容器,用于传递请求信息。
ClassUtils:获取类信息、判断内部类和代理对象等。
BeanUtils:对象属性拷贝、实例化和方法查找等。
ReflectionUtils:反射操作,如获取方法、字段和执行方法。
BaseUtils:提供数据加密和解密。
StandardCharsets:处理字符编码转换。
DigestUtils:数据加密,如md5和sha。
SerializationUtils:序列化和反序列化工具。
HttpStatus:预定义的HTTP状态码枚举。
这些工具的合理运用,能让你的代码更加简洁高效。如果你在工作中遇到类似场景,不妨尝试使用它们。感谢你的阅读,如果觉得有帮助,欢迎点赞支持。