java

深入探索JVM:理解Java程序在虚拟机中的存储和管理

大家好,我是大圣,很高兴又和大家见面。 今天给大家带来图解 JVM 系列的第四篇文章,我们写的 Java 程序是怎么在JVM 里面存储的。本次大纲如下: 前面知识回顾 上一篇 图解JVM系列:揭秘运行时数据区的设计与实现 文章说了JVM 运行时数据区的设计理念,我们是通过 冯·诺依曼结构 来类比引出 ......
程序 Java JVM

用jacoco统计JAVA项目测试代码覆盖率

一、概述 Jacoco 统计的是全量代码覆盖率。它不仅支持生成单元测试的覆盖率,也支持监控生成接口测试,功能测试的覆盖率。 在新一代精准测试技术流的影响中,各大型单位对覆盖率的追求越来越迫切。作为一款开源产品,它主机面向Java语言,能够在字节码层面给出覆盖率,同时也能将字节码关联到对应的源代码。这 ......
覆盖率 代码 项目 jacoco JAVA

Java实现在线编辑预览office文档

目录1 在线编辑1.1 PageOffice简介1.2 前端项目1.2.1 配置1.2.2 页面部分1.3 后端项目1.3.1 pom.xml1.3.2 添加配置1.3.3 controller2 在线预览2.1 引言2.2 市面上现有的文件预览服务2.2.1 微软2.2.2 Google Driv ......
文档 office Java

Java小细节之缩进中if 和else的对应关系

import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.print("请输入数字:") ......
细节 Java else

春眠不觉晓,Java数据类型知多少?基础牢不牢看完本文就有数了

文编|JavaBuild 哈喽,大家好呀!我是JavaBuild,以后可以喊我鸟哥!俺滴座右铭是不在沉默中爆发,就在沉默中灭亡,一起加油学习,珍惜现在来之不易的学习时光吧,等工作之后,你就会发现,想学习真的需要挤时间,厚积薄发啦! 我们知道Java是面向对象的静态型编程语言,在Java的世界里万物皆 ......
类型 基础 数据 Java

idea 中java代码修改后运行代码不生效

背景 在使用idea开发项目过程中,经常会多版本切换开发,有时在一个分支中提交代码修改后,重新运行项目还是之前版本的项目,修改没有生效 解决方案 方案一 依赖的模块版本不变,只修改了代码没有及时打到本地库。可以对依赖的模块执行 mvn clean install 后重新运行项目 方案二 原先的项目文 ......
代码 idea java

Java日期时间处理详解

Java中SimpleDateFormat、LocalDateTime和DateTimeFormatter的区别及使用 在Java的世界里,处理日期和时间是常见的任务。尤其在Java 8之前,SimpleDateFormat是处理日期和时间的主要方式。然而,Java 8引入了新的日期时间API,其中 ......
日期 时间 Java

java项目(jar包)配置为开机自启 jar包bat脚本启动和配置为开机自启

今天给大家分享一下,如何把java项目,打包 打包后启动 生成bat文件启动 设置为开机自启。 每一步都是先是文字描述,后面是图片展示。 首先是打包,咱们写好的项目在maven处 点击clear,等待完成后,点击package 打包完成后,在target目录下可以看到自己打包生成的文件,这个是我改过 ......
脚本 jar 项目 java bat

Java中锁的解决方案

前言 在上一篇文章中,介绍了什么是锁,以及锁的使用场景,本文继续给大家继续做深入的介绍,介绍JAVA为我们提供的不同种类的锁。 JAVA为我们提供了种类丰富的锁,每种锁都有不同的特性,锁的使用场景也各不相同。由于篇幅有限,在这里只给大家介绍比较常用的几种锁。我会通过锁的定义,核心代码剖析,以及使用场 ......
解决方案 方案 Java

Java学习之路1

下载JDK 了解Java的运行过程 知道javac的作用 是将java文件编译成class文件 为了方便多平台同运算 了解cmd是GBK编译代码 JDK是utf-8编译代码 这会导致某些地方代码运行不是自己想要的结果 编译 运行第一个代码helloworld 在运行之后 的println 中 又了解 ......
Java

[Java]关于反射的理解与运用

反射的关键是细节比较多。本文耗费三小时完成,主要是思考怎么写才能清楚明了、完整和少冗余。 如果文中阐述不全或不对的,多多交流。 ......
Java

Dating Java8系列之Java8中的‘流’

给我馍馍/文 流的概念 1.流是什么 流是Java API的新成员,它允许你以声明性方式处理数据集合(通过查询语句来表达,而不是临时编写一个实现)。就现在来说,我们可以把它们看成遍历数据集的高级迭代器。 代码:按价格排序后得到手机名称列表 使用新的流式方法有几个显而易见的好处。 代码是以声明性方式写 ......
Java8 Java Dating

Dating Java8系列之Java8中的流操作

给我馍馍/文 本次我们会使用到很多的流操作,如筛选、切片、映射、查找、匹配和归约,这些操作可以让我们能快速完成复杂的数据查询。 筛选和切片 用谓词筛选 Streams接口支持filter方法。该操作会接受一个谓词(一个返回 boolean的函数)作为参数,并返回一个包括所有符合谓词的元素的流。 Li ......
Java8 Java Dating

Dating Java8系列之用流收集数据

给我馍馍/文 收集器简介 1.收集器介绍 Java 8中流支持两种类型的操作:中间操作(如filter或map)和终端操作(如count、findFirst、forEach和reduce)。 中间操作可以链接起来,将一个流转换为另一个流。这些操作不会消耗流,其目的是建立一个流水线。与此相反,终端操作 ......
数据 Dating Java8 Java

Dating Java8系列之并行数据处理

翎野君/文 分支合并框架 分支合并框架介绍 分支/合并框架的目的是以递归的方式将可以并行的任务拆分成更小的任务,然后将每个子任务的结果合并起来生成整体结果。 它是ExecutorService接口的一个实现,它把子任务分配给线程池(称为ForkJoinPool)中的工作线程。把任务提交到这个池,必须 ......
数据处理 数据 Dating Java8 Java

Dating Java8系列之default默认方法

给我馍馍/文 引言 传统上,Java程序的接口是将相关方法按照约定组合到一起。实现接口的类必须为接口中定义的每个方法提供一个实现,或者从父类中继承它的实现。 不断迭代的API 默认方法的引入就是为了,以兼容的方式,解决像 Java API这样的类库,演进迭代问题。 理解演进迭代 为了理解为什么一旦A ......
default 方法 Dating Java8 Java

Dating Java8系列之通过行为参数化传递代码

给我馍馍/文 引言 作为技术开发人员,我们无法保证我们写出来的代码的可用时间和保质期,也许今天刚上线的一个功能,等到明天就因为需求变动不得不进行更改。 为什么会不断的变化 作为技术人员,我们当然希望需求能循序渐进地平稳过度,但往往事与愿违,对于其原因我简单总结为以下几点。 用户导向,用户和市场是风向 ......
行为 参数 代码 Dating Java8

Dating Java8系列之Lambda表达式和函数式接口(上)

给我馍馍/文 Lambda简介 我们可以把Lambda表达式理解为简洁地表示可传递的匿名函数的一种方式。它没有名称,但它有参数列表、函数主体、返回类型,可能还有一个可以抛出的异常列表。 匿名:我们说匿名,是因为它不像普通的方法那样有一个明确的名称。 函数:我们说它是函数,是因为Lambda函数不像方 ......
表达式 函数 接口 Dating Lambda

Dating Java8系列之Lambda表达式和函数式接口(下)

给我馍馍/文 使用函数式接口 函数式接口定义且只定义了一个抽象方法。 函数式接口很有用, 因为抽象方法的签名可以描述Lambda表达式的签名。 为了应用不同的Lambda表达式,你需要一套能够描述常见函数描述符的函数式接口。 Java 8的库设计师帮我们在java.util.function包中引入 ......
表达式 函数 接口 Dating Lambda

Dating Java8系列之巧用Optional之优雅规避NPE问题

给我馍馍/文 避之不及的 NullPointerException NPE : NullPointerException 空指针异常是最常见的Java异常之一,抛出NPE错误不是用户操作的错误,而是开发人员的错误,应该被避免,那么只能在每个方法中加入非空检查,阅读性和维护性都比较差。 以下是一个常见 ......
Optional Dating 问题 Java8 Java

Dating Java8系列之新的日期和时间

给我馍馍/文 旧的日期时间 在Java 1.0中,对日期和时间的支持只能依赖java.util.Date类。正如类名所表达的,这个类无法表示日期,只能以毫秒的精度表示时间。更糟糕的是它的易用性,由于某些原因和未知的设计决策,这个类的易用性被深深地损害了,比如:年份的起始选择是1900年,月份的起始从 ......
日期 时间 Dating Java8 Java

多线程(Java.Thread)学习

多线程(Java.Thread)学习 线程简介: 1、线程是独立执行的路径 2、程序运行时有很多后台进程 比如主线程、young.gc、full.gc() 3、main是主线程,系统入口,用于执行整个程序 4、一个进程中、如果开辟多个线程,线程的运行由调度器安排调度、调度器的先后顺序不能人为干预 5 ......
线程 Thread Java

1.java概述

第一章 java概述 java的主要特点: 1.java是面向对象的 2.Java 语言是健壮的。Java 的强类型机制、异常处理、垃圾的自动收集等是 Java 程序健壮性的重要保证 3.Java 语言是跨平台性的。[即: 一个编译好的.class 文件可以在多个系统下运行,这种特性称为跨平台] 4 ......
java

Java实现单机百万并发

摘要: 在互联网时代,高并发是必不可少的。Java是目前最流行的编程语言之一,那么如何在Java中实现单机百万并发呢?本文将介绍一些实现单机百万并发的思路和方法。 正文: Java实现单机百万并发,主要需要解决以下两个问题: 如何突破操作系统的文件句柄限制 如何优化应用程序的性能 突破操作系统的文件 ......
单机 Java

java jdk @Resource注入

@Resource注解 和 @Autowired注解 有什么区别? @Resource注解是JDK扩展包中的,也就是说属于JDK的一部分。所以该注解是标准注解,更加具有通用性。(JSR-250标准中制定的注解类型。JSR是Java规范提案。) @Autowired注解是Spring框架自己的。 @R ......
Resource java jdk

面试题:Java中的引用类型有哪几种?特点是什么?

Java中引用类型及特点 强 引用: 最普通的引用 Object o = new Object() 软 引用: 垃圾回收器, 内存不够的时候回收 (缓存) 弱 引用: 垃圾回收器看见就会回收 (防止内存泄漏) 虚 引用: 垃圾回收器看见二话不说就回收,跟没有一样 (管理堆外内存) DirectByt ......
特点 类型 Java

Java入门

目标:掌握类与对象的一些注意事项。 1).类名建议使用英文单词,首字母大写,满足驼峰模式,且要有一定的含义,例如:Student 2).类中定义的变量称为成员变量(对象的属性),类中定义的方法称为成员方法(对象的行为)。 3).成员变量本身存在默认值,一般在定义成员变量时不需要赋初始值。 4).一个 ......
Java

不起眼但是很要命的Java小细节 -- 短路与和与、短路或和或的区别

在实际开发时,开发者常常会直接使用短路与,短路或. 一般情况下是不会有问题的,但是在某些场景下,会因为开发者遗忘的短路语法细节导致程序走向不符合预期的流程. 基础语法 &&(短路与)与 &(非短路与)的区别: 最终结果都是一样的 &&: 具有短路的效果。左边是false,右边就不执行 &: 不具有短 ......
细节 Java

提升源代码安全性的C#和Java深度混淆工具——IpaGuard

提升源代码安全性的C#和Java深度混淆工具——IpaGuard 摘要 Ipa Guard是一款功能强大的IPA混淆工具,通过对iOS IPA文件进行混淆加密,保护其代码、资源和配置文件,降低破解反编译难度。本文将介绍Ipa Guard的深度混淆技术,包括逻辑混淆、名称混淆以及处理特殊情况的方法,帮 ......
源代码 安全性 深度 IpaGuard 工具

Java中BigDecimal类、String类和Number类

Number类所有的包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类 Number 的子类 BigDecimal类 在定义字段要求精度比较高的时候,一般会使用BigDecimal类型 常用构造函数BigDecimal(int)创建一个具有参数所指定整数值的 ......
BigDecimal String Number Java
共10134篇  :1/338页 首页上一页1下一页尾页