意思java
GraalVM(云原生时代的Java)和IoT在边缘侧落地与实践
环顾四周,皆是对手! 云时代的掉队者,由于Java启动的高延时、对资源的高占用、导致在Serverless及FaaS架构下力不从心,在越来越流行的边缘计算、IoT方向上也是难觅踪影; Java语言在业务服务开发中孤独求败,但在系统级应用领域几乎是C、C++、搅局者Go、黑天鹅Rust的天下; 移动应 ......
一种新的流:为 Java 加入生成器(Generator)特性
这篇文章不是工具推荐,也不是应用案例分享。其主题思想,是介绍一种全新的设计模式。它既拥有抽象的数学美感,仅仅从一个简单接口出发,就能推演出庞大的特性集合,引出许多全新概念。同时也有扎实的工程实用价值,由其实现的工具,性能均可显著超过同类的头部开源产品。 ......
Java基础
Java基础 Java基础篇 JDK 和 JRE 的区别是什么? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。 JRE:Java Runtime Environment 的简称,java 运行环境,为 java 的运行提供了 ......
JAVA运算符详解
JAVA运算字符详解 赋值运算符 符号作用说明 = 赋值 int a = 10; 将10赋值给变量a += 加后赋值 a += b; 将a+b的值给a - = 减后赋值 a -= b; 将a-b的值给a *= 乘后赋值 a *= b; 将a*b的值给a /= 除后赋值 a / =b ; 将a/b的值 ......
Java并发(三)----创建线程的三种方式及查看进程线程
一、直接使用 Thread // 创建线程对象 Thread t = new Thread() { public void run() { // 要执行的任务 } }; // 启动线程 t.start(); 例如: // 构造方法的参数是给线程指定名字,推荐 Thread t1 = new Thre ......
docker-compose一键部署java开源项目
这一年干的很多事都是为了降低我的开源项目消息推送平台austin使用门槛。 如果想学Java项目的,强烈推荐我的开源项目消息推送平台Austin(8K stars) ,可以用作毕业设计,可以用作校招,可以看看生产环境是怎么推送消息的。开源项目消息推送平台austin仓库地址: 消息推送平台🔥推送下 ......
java排序算法2(简单选择排序、堆排序)
简单选择排序 不稳定 选择排序在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后以此类推,直到所有元素均排序完毕。 for (int i = 0; i < arr.length; i++) { //记录最小值下标位置 int min=i; for (int j=i+1;j<arr.le ......
Java打印日志接口
###在java开发过程中,为了分析程序异常,或者监控程序运行流程,经常需要用到打印日志。以下为日志接口的具体实现: 点击查看代码 import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; impor ......
Java类实现某个接口后,是否需要实现接口中的所有方法?
1.结论 并不是所有的类实现接口后都必须实现接口的所有方法! 2.特殊情况 当Java抽象类实现某个接口后没必要实现所有的方法。 3.注意点 当Java普通类实现接口后必须实现接口中的所有方法。 4.原因 为什么抽象类不需要实现所有方法? 因为抽象类本身是具有抽象性的,它的方法也大多不需要进行实现, ......
java反序列化(五) JNDI注入
JNDI注入 前置知识 JNDI JNDI (Java Naming and Directory Interface) 是一个应用程序设计的 API,为开发人员提供了查找和访问各种命名和目录服务的通用、统一的接口。可以通过字符串来锁定一个对象 JNDI 支持的服务主要有以下几种: RMI (JAVA ......
java执行linux语句
public class CommandUtil { /** * 在指定路径下执行一条命令,不能执行cd之类的命令 * * @param command 要执行的Linux命令 * @param dir 目标路径,在该路径执行上述Linux命令 * @return 命令执行后显示的结果 * @thr ......
java反序列化(五) JNDI注入
JNDI注入 前置知识 JNDI JNDI (Java Naming and Directory Interface) 是一个应用程序设计的 API,为开发人员提供了查找和访问各种命名和目录服务的通用、统一的接口。可以通过字符串来锁定一个对象 JNDI 支持的服务主要有以下几种: RMI (JAVA ......
Java中Runnable和Callable的区别 Runnable接口
Callable接口 从Java 1.0开始,它是java.lang包的一部分 从Java 1.5开始,它是java.util.concurrent包的一部分。 Runnable接口不能返回计算的结果。 Callable接口可以返回一个任务的并行处理的结果。 Runnable接口不能抛出一个有检查的 ......
Java中缓存区的基本使用
前言 缓存区是一种内存空间,在计算机程序中被广泛使用来优化I/O操作的效率。在文件I/O操作中,缓存区用于缓存将要写入磁盘或读取到内存中的数据。这样可减少对磁盘的访问次数,提高I/O操作的效率。本文将介绍缓存区的基本使用以及一些注意点,并提供一个实例来演示如何将一个jpg图片复制一份。 使用缓存区进 ......
Java中null和“”的区别
null和空字符串('')虽然都是没有任何内容,但是null却输出空指针异常,因为堆内存中根本就没有这个东西。 他们的区别可相当大,虽然都是没有信息,但是null代表堆内存中根本没有这个东西,这个对象不存在,怎么执行indexof操作?空字符串虽然没有信息,但是是有内存空间的,所以null与空字符串 ......
java开发环境、IDEA开发Hello World小程序
java开发环境、IDEA开发Hello World小程序: 1. java开发环境: 编译运行过程: 编译期:.java源文件,经过编译,生成.class字节码文件 运行期:JVM加载.class并运行.class(0和1) 特点:跨平台、一次编译到处使用 名词解释: JVM:java虚拟机 加载 ......
springboot mybatis 动态调用oracle存储过程,通过存储过程名称,就能动态调用存储过程、java动态调用oracle存储过程
由于在开发业务时,可能同时调用的存储过程不知道参数,但是参数从界面、或已经存储在数据库的获取,所以就不希望手动写存储过程的参数,通过简化的调用。 能不能写个动态的业务,只输入存储过程名称,自动获取存储过程参数,并且参数的数据从前台传递过来,这个就通用了。只写一个通用方法,就可以调用所有的存储过程。只 ......
java -- 注解
注解 注解概述 定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。 作用分类: 编写文档:通过代码里标识的注解生成文档 ......
Java
HashSet contains add Stack+ empty peek pop push(add) size HashMap valueOf(value) get(key), put(key, value), isEmpty() containsKey(key) containsValue(v ......
云原生周刊:2023 年 Java 开发人员可以学习的 25 大技术技能
文章推荐 2023 年 Java 开发人员可以学习的 25 大技术技能 这篇文章为 Java 开发人员提供了 2023 年需要学习的一些重要技能,这些技能涵盖了现代 Java 开发、大数据和人工智能、安全性、分布式系统和区块链、以及其他领域。Java 开发人员应该根据自己的需求和职业规划,选择适合自 ......
JAVA下载图片压缩zip
1. 支持多张图片下载/** * 下载附件zip */@PostMapping("downloadZip")public void downloadZip(@RequestBody ShipmentAnnexVo shipmentAnnexVo, HttpServletRequest request ......
关于Java:public函数公开其public / * package * /’参数类型
package nl.friesoft.solaredgenotifier; class SolarEdgeException extends Exception { public SolarEdgeException(String s) { super(s); } } package nl.fri ......
Java面试基础知识-MyBatis-Plus生成ID策略
MyBatisPlus默认实现5种主键生成策略,分别是: AUTO,配合数据库设置自增主键,可以实现主键的自动增长,类型为number; INPUT,由用户输入; NONE,不设置,等同于INPUT; ASSIGN_ID,只有当用户未输入时,采用雪花算法生成一个适用于分布式环境的全局唯一主键,类型可 ......
java排序算法1(插入排序、希尔排序)
插入排序 稳定 | 平均时间复杂度 | 最好 | 最坏 | 空间复杂度| | | | | | | O(n²) | n |O(n²) |O(1) | //实现代码,不需要每次比都交换元素,减少交换次数 int[] arr = {1, 5, 7, 63, 4, 58, 45}; for (int i = ......
Exception in thread "main" java.lang.UnsatisfiedLinkError: no opencv_java320 in java.library.path
找到opencv的安装目录 然后将这个 opencv_java320.dll文件复制到java安装目录的bin目录下就可以了 D:\opencv3.20\opencv\build\java\x64 ......
java: -source 1.7 中不支持 lambada 表达式
编译时报 -source 1.7 中不支持 lambada 表达式 改为 8 即可 还有一种可能查看 pom.xml 文件 这两段应该设为 1.8 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncodi ......
java: -source1.5中不支持diamond运算符终极解决办法
编译时 报 1.5不支持 diamond 运算符 1.常规办法 在File->Setting中设置如下: 然后检查:File->Project Structure里面的相关配置: 以上办法能解决问题的概率在90%,如果还不行,那么请按照以下方法,基本上100%可以解决。 2.非常规办法 在File- ......
IDEA 将普通java工程转为maven
1、在idea打开工程,右击工程,选择 Add Framework Support 选择 maven 2、关闭工程3、打开工程根目录,将 .idea 文件夹删除 4、重新用 IDEA 打开工程 就会和直接构建的maven工程目录结构一致了。 5、此时再在工程上右击就会看到右键菜单多了一个【Maven ......
TOMCAT 热部署导致 Caused by: java.lang.outOfMemoryError: Metaspace
操作系统:Ubuntu 20.04.5 LTS JAVA版本:1.8.0_362 TOMCAT版本:Apache Tomcat 8.5 1.问题描述 tomcat 在热部署时很容易造成OOM 2.问题产生的原因: 当Java虚拟机(JVM)的元空间内存不足时,就会发生此错误。元空间是用于存储类元数据 ......