Java

Java NIO 入门

1 NIO概述 1.1 定义 java.nio全称java non-blocking IO,是指JDK1.4 及以上版本里提供的新api(New IO) ,为所有的原始类型(boolean类型除外)提供缓存支持的数据容器,使用它可以提供非阻塞式的高伸缩性网络(来源于百度百科)。 1.2 为什么使用N ......
Java NIO

Java在指定日期上添加一月\一年

背景: 会员续费,按天,按月,按季度,按年份 实现: //获取当前日期 Date date = new Date(); //创建Calendar实例 Calendar cal = Calendar.getInstance(); cal.setTime(date); //设置当前时间 cal.add( ......
日期 Java

深入探讨Java面试中内存泄漏:如何识别、预防和解决

引言 在编写和维护Java应用程序时,内存泄漏是一个重要的问题,可能导致性能下降和不稳定性。本文将介绍内存泄漏的概念,为什么它在Java应用程序中如此重要,并明确本文的目标,即识别、预防和解决内存泄漏问题。 内存泄漏的概念 内存泄漏是指应用程序中分配的内存(通常是堆内存)在不再需要时未能正确释放。这 ......
内存 Java

docker部署java项目

1、首先你需要提前准备好jar包或者war包,并想办法放入Linux环境(或虚拟机)中; 2、java项目的部署需要用到Tomcat或者Jetty,docker可以直接拉取他俩的镜像,这里以Tomcat为例: # : 后面需要加上war或者jar对应的Tomcat版本,最好加上, # 否则默认最新的 ......
项目 docker java

JAVA_OPTS

JAVA_OPTS ,顾名思义,是用来设置JVM相关运行参数的变量。 JVM:JAVA_OPTS="-server -Xms2048m -Xmx2048m -Xss512k" -server:一定要作为第一个参数,在多个CPU时性能佳 -Xms:初始Heap大小,使用的最小内存,cpu性能高时此值应 ......
JAVA_OPTS JAVA OPTS

JAVA中三种I/O框架——BIO、NIO、AIO

一、BIO(Blocking I/O) BIO,同步阻塞IO模型,应用程序发起系统调用后会一直等待数据的请求,直至内核从磁盘获取到数据并拷贝到用户空间; 在一般的场景中,多线程模型下的BIO是成本较低、收益较高的方式。但是,如果在高并发的场景下,过多的创建线程,会严重占据系统资源,降低系统对外界响应 ......
框架 JAVA BIO AIO NIO

Tomcat的优化(分别为操作系统优化(内核参数优化),Tomcat配置文件参数优化,Java虚拟机(JVM)调优)

Tomcat的优化 一、Tomcat 优化 Tomcat 配置文件参数优化 二、系统内核优化 三、Tomcat 配置 JVM 参数: 参数含义一、Tomcat 优化Tomcat默认安装下的缺省配置并不适合生产环境,它可能会频繁出现假死现象需要重启,只有通过不断压测优化才能让它最高效率稳定的运行。优化 ......
参数 Tomcat 内核 文件 系统

docker-java连接虚拟机使用docker

1、前言 在学习鱼皮的Oj在线项目,在第六个视频需要把代码远程同步到虚拟机的docker上,但是鱼皮的虚拟机是ubuntu带有界面,我的虚拟机是centos不带界面。 所有我准备不把代码同步到虚拟机上,而是在本地修改,到时候打包上去,这里面临一个问题就是docker-java连接docker。 2、 ......
docker docker-java java

基于Java+vue开发的企事业移动培训考试平台

随着移动互联网的快速发展,越来越多的企业开始关注移动培训和考试平台的开发。为了满足这一需求,我们可以使用Java和Vue来开发一个基于移动端的企事业培训考试平台。 获取方式Q+: 262086839 一、背景和需求 企事业移动培训考试平台是一个基于Web的应用程序,旨在提供一个方便、高效的移动学习平 ......
培训考试 企事业 平台 Java vue

Java 21的StringBuilder和StringBuffer新增了一个repeat方法

发现Java 21的StringBuilder和StringBuffer中多了repeat方法: /** * @throws IllegalArgumentException {@inheritDoc} * * @since 21 */ @Override public StringBuilder ......

小白之IDEA创建java第一个程序

(1)打开IDEA,创建项目名为first的项目。在src目录下创建名为HelloWorld的java类并写入代码再运行。 ......
程序 IDEA java

Java POI导入超时问题如何解决

前端导入Excel向后台发出请求时,后台立即返回信息“后台正在导入,请稍等!”,向redis中存入键isFinished的值为字符串“0”,并且开启一个线程来完成插入大量数据到数据库的工作,当插入完成则将redis中isFinished的值改为字符串“1”。前端收到“后台正在输入,请稍等!”后,此时 ......
问题 Java POI

【个人项目互评】 —中小学自动生成试卷程序(Java版)

本次代码互评我选择的邱文静同学的代码进行互评;下面是我对她的代码的分析: 一、题目要求 1、命令行输入用户名和密码,两者之间用空格隔开(程序预设小学、初中和高中各三个账号,具体见附表),如果用户名和密码都正确,将根据账户类型显示“当前选择为XX出题”,XX为小学、初中和高中三个选项中的一个。否则提示 ......
自动生成 试卷 中小学 中小 程序

java课后作业2

import java.util.ArrayList;import java.util.List;public class RandomNumberGenerator { public static List<Integer> generator(int a,int c,int m,int x0,i ......
java

Java 中for循环和foreach循环哪个更快?

摘要:本文由葡萄城技术团队于博客园发布。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 前言 在Java编程中,循环结构是程序员常用的控制流程,而for循环和foreach循环是其中比较常见的两种形式。关于它们哪一个更快的讨论一直存在。本文旨在探究Java ......
更快 foreach Java for

JAVA 后端 记录方法运行时间

LocalDateTime ldStart= LocalDateTime.now();//记录开始时间//中间是需要计算时间的代码段落 LocalDateTime ldEnd= LocalDateTime.now();//记录结束时间Duration du=Duration.between(ldSt ......
时间 方法 JAVA

中国这么多 Java 开发者,应该诞生出生态级应用开发框架

1、必须要有,不然就永远不会有 应用开发框架,虽然没有芯片、操作系统、数据库、编程语言这些重要。但是最终呈现在用户面前的,总是有软件部分。而软件系统开发,一般都需要应用开发框架,它是软件系统的基础性部件之一。 很多很多软件系统都会有 Java 开发的部分,尤其是政府部门的软件系统大量的使用了 Jav ......
应用开发 开发者 框架 Java

JAVA基础 —— 面向对象内存图

JAVA基础 —— 面向对象内存图 ......
对象 内存 基础 JAVA

java内存分配(堆,栈,方法区,常量池)图解

大家都知道,java程序是运行在jvm(java虚拟机)上的,因此Java的内存分配是在JVM中进行的。那么在程序内存分配上面,大致分为:本地方法栈、程序计数器、虚拟机栈、java堆、方法区。这五类,本次主要讲解的是虚拟机栈、java堆和方法区中的内容。 栈:存放基本数据类型的数据、引用数据类型的变 ......
常量 内存 方法 java

Java 序列化与反序列化的疑问

关于序列化和反序列化的疑问 为什么需要序列化和反序列化 ? 因为计算机底层存储和传输都是二进制,所以需要将对象转化成字节数组。那么问题来了,只需要转成字节数组就行了,那为啥还要弄这么多东西?搞这么复杂? 因为直接转生成的字节数组是不规则的,所以我们不能通过这样的字节数组把原来的对象还原出来,那么我们 ......
序列 疑问 Java

java语言基础--对象内存图解

在JVM内存里面主要分布有以下三个区域: 栈:存放基础数据和自定义对象的引用 堆:主要存储创建的对象,即new出来的对象。 方法区:加载存放class文件(字节码文件) 创建一个对象: 通过上图来看,程序是这样执行的: 将StudentTest01.class文件加载到方法区 将Student.cl ......
语言基础 对象 内存 语言 基础

Java基础

Java基础 一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。 基本语法 大小写敏感:Java 是大小写敏感的,这就意味着标识符 Hello 与 hello 是不同的。 类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母 ......
基础 Java

java--内存与数据结构

JVM 内存划分 栈一种数据结构特点:先进后出(FILO)入栈:把元素放到栈里栈顶:栈中的第一个元素栈底:栈中的最后一个元素出栈:把元素从栈里移除 基本数据类型–值传递 引用类型–地址传递 堆数组在堆中存储 若堆中的内存空间没有被引用的时候,就会变成垃圾,等着垃圾回收器回收 垃圾回收机制 对象在堆中 ......
数据结构 内存 结构 数据 java

Java基础语法(1)

Java基础语法 JAVA--黑马程序员 笔记 一、Java入门 1、JAVA 是一种很火的计算机语言。 2、JAVA 代码编写分三步: 编写程序源码,即编写一个java文件 编译:翻译文件, javac是JDK提供的编译工具,对java文件编译后会产生一个class文件,class文件即交给计算机 ......
语法 基础 Java

JAVA基础学习——面型对象进阶

1 static 2 继承 1 static 1.1 内存图 静态对象是随着类加载,非静态对象随着对象来的: 引用类型初始化时null值。 1.2 static 静态变量、静态方法 1.3 总结 ① 静态方法中没有this,非静态方法中有 静态的一般用于共享,不面向某一个对象,所以没有this; 而 ......
对象 基础 JAVA

4.7 Java this关键字详解(3种用法)

this 关键字是 Java 常用的关键字,可用于任何实例方法内指向当前对象,也可指向对其调用当前方法的对象,或者在需要当前类型对象引用时使用。下面我们根据示例分别讲解 this 关键字的作用。 this.属性名 大部分时候,普通方法访问其他方法、成员变量时无须使用 this 前缀,但如果方法里有个 ......
关键字 关键 Java this 4.7

4.6 Java成员方法的声明和调用

声明成员方法可以定义类的行为,行为表示一个对象能够做的事情或者能够从一个对象取得的信息。类的各种功能操作都是用方法来实现的,属性只不过提供了相应的数据。一个完整的方法通常包括方法名称、方法主体、方法参数和方法返回值类型,其结构如图 1 所示。 图 1 方法组成元素 成员方法一旦被定义,便可以在程序中 ......
成员 方法 Java 4.6

java8 新特性之日期时间处理 LocatDate、LocalTime、LocalDateTime、ZonedDateTime、DateTimeFormatter

一、LocalDate、LocalTime、LocalDateTime 和常用API 1、LocalDate public void test01(){ //1.创建指定的日期 LocalDate date1 = LocalDate.of(2021,05,06); System.out .print ......

Java中print和println的区别

Java中print()和println()的区别 区别是print()输出完毕之后不换行,而println()输出完毕后会换行,所以println()在不输出任何东西的时候,就只输出一个换行符。 示例如下: System.out.println("a"); System.out.print("b" ......
println print Java

java基础-IO流-day13

目录1. IO的概念IO流的分类2. 一个一个字符 完成文件的复制3. 非文本 读取与复制 1. IO的概念 计算机内存中的数据 <--> 硬盘里面的数据 也就是数据的落盘 以及 数据的读取 文件的操作 package com.msb.io01; import java.io.File; impor ......
基础 java day IO 13