在项目中经常会遇到需求用户输入汉字后转换为拼音的场景,比如说通讯录,就会要求按名字首字符发音排序,如果自己写实现这方面的功能是个很好大的工程,还好网上有公开的第三方jar支持转换,结合网上很多前辈的代码,copy了两个简单的工具方法,供参考第一个是使用pinyin4j的jar,此jar对多音字语句的处理不太理想 package com.lovo.utils;
......
196
0
0
2023-11-13
Java 对象模型 我们先了解一下,一个JAVA对象的存储结构。在Hotspot虚拟机中,对象在内存中的存储布局分为 3 块区域:对象头( header )、实例数据(Instance Data)和对齐填充( padding )。 java 对象的大小默认是按照 8 字节对齐 ,也就是说 Java 对象的大小必须是 8 字节的倍数。若是算到最后不够
......
228
0
0
2023-11-12
本文内容为什么需要用代码 jdk动态代理玩法详解 cglib代理常见的各种玩法详解 为什么要用代理我们先来看一个案例。有一个接口IService,如下: package com. Java code2018.lesson001.demo15;
public interface IService {
&n
......
190
0
0
2023-11-10
一、什么是 maven ? 1)Maven好处可以将项目过程 规范化、自动化、高效化 以及强大的 可扩展性 ,利用maven自身及其插件还可以获得代码检查报告、单元测试覆盖率、实现 持续集成 等等。 使得项目的管理变得容易, 构建项目的速度更快 ,由于Maven提供了仓库的概念去管理 JAR 包,所以用 git 或者svn的时候,存储
......
382
0
0
2023-11-09
前言在创建对象的时候使用最多的就是new关键字进行创建。除了使用new关键字外 java 中还存在其他多种创建对象的方法,如下。 new 关键字 反射一:Class#newInstance 反射二: Constructor #newInstance 克隆 反序列化 字符串 字面量 字符串拼接 自动装箱 lambda表达式 方法引用new关键字new关键字是
......
236
0
0
2023-11-09
在工作中,我们经常需要去获取一些数据,但是这些数据可能需要从第三方平台才可以获取到。这个时候,爬虫系统就可以帮助我们来完成这些事情。 提到 爬虫 系统,很多人都会想到使用 python 。但实际上,语言只是一种工具,其背后的设计思想和技术原理才是精髓,这篇关于Java分布式爬虫的文章会带着大家一步一步搭建一个适合Java开发者的爬虫系统。 第一部
......
257
0
0
2023-11-08
1、 冒泡排序 冒泡排序(Bubble Sort)也是一种简单直观的排序算法。 它重复地走访过要排序的 数列 ,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。冒泡排序还有一种优化算法,就是立一个 flag, 当
......
213
0
0
2023-11-07
JAVA 相对于 c++ 而言属于上层语言,因此一般用于应用层系统的开发,比如 java 最擅长的web服务端开发,而c++偏向底层一些,更合适做一些底层的东西,比如JAVA的 jvm 就是c++语言开发的,而且JAVA在算法方面相比c++性能稍微差一些。目录:1 语言源起C++继承自C,偏向底层、具有灵活性、效率优先考量的观念,但在数据和代码组织方面,在
......
210
0
0
2023-11-07
引言本篇则重点会对于分代收集器的实现进行全面详解,其中会涵盖串行收集器、并行收集器、三色标记、SATB算法、GC执行过程、并发标记、CMS收集器等知识,本篇则偏重于分析GC机制的落地实现,也就是垃圾收集器(Garbage Collector)。一、堆空间回顾与GC收集器概述GC覆盖的范围有堆空间与元空间,而主要的作用范围则是堆空间,所以先简单回顾堆空间后,再
......
248
0
0
2023-11-07
1.集成开发环境IDEA是一个专门针对Java的集成开发工具(IDE),由Java语言编写。所以,需要有JRE运行环境并配置好环境变量。它可以极大地提升我们的开发效率。可以自动编译,检查错误。2.创建项目创建项目-创建模块-创建包-创建类 (1)创建一个工程 (2)jdk版本我这里是1.7的 (3)我命名为java_Web (4)创建一个Module 我命名
......
183
0
0
2023-11-07
文章目录1 Lambda的概述2 函数式接口2.1 Consumer消费型接口2.2 Supplier供给型接口2.3 Function< T, R >函数型接口2.4 Predicate断言型接口2.5 其他接口以及功能3 Lambda的语法3.1 具体格式3.2 使用要求4 方法引用5 默认方法和静态方法5.1 概述5.2 问题及解决6
......
209
0
0
2023-11-06
Java Exception:1、Error2、Runtime Exception 运行时异常3、Exception4、throw 用户自定义异常异常类分两大类型:Error类代表了编译和系统的错误,不允许捕获;Exception类代表了标准Java库方法所激发的异常。Exception类还包含运行异常类Runtime_Exception和非运行异常类No
......
206
0
0
2023-11-06
作者海星 以下文章来源于JavaKeeper 直击面试反正我是带着这些问题往下读的说一下 JVM 运行时数据区吧,都有哪些区?分别是干什么的?Java 8 的内存分代改进举例栈溢出的情况?调整栈大小,就能保存不出现溢出吗?分配的栈内存越大越好吗?垃圾回收是否会涉及到 虚拟机 栈?方法中定义的 局部变量 是否线程安全?运行时数据区内存是非常重要的系统资源,是硬
......
178
0
0
2023-11-05
Java 的性能优化,JVM GC(垃圾回收机制)在学习Java GC 之前,我们需要记住一个单词:stop-the-world 。它会在任何一种GC算法中发生。stop-the-world 意味着JVM因为需要执行GC而停止了应用程序的执行。当stop-the-world 发生时,除GC所需的 线程 外,所有的线程都进入等待状态,直到GC任务完成。GC优化
......
214
0
0
2023-11-05
欢迎访问我的 GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):本篇概览如果您看过 一文,甚至动手实际操作过,您应该会对背后的技术细节感兴趣,开发这样一个应用,咱们总共要做以下三件事: 准备好 docker 基础镜像 开发java应用 将java应用打包成package文件,集成到基础镜像中,得到最终的java应用镜像 对于 准备好docker基
......
198
0
0
2023-11-05