【java基础学习】
文章平均质量分 60
记录java学习总结和工作中遇到的问题
玉成226
这个作者很懒,什么都没留下…
展开
-
java基础学习:定时任务常见实现方式
小顶堆,存放timeTask。:任务执行线程运行时异常会导致timer线程终止。任务调度是基于绝对时间的,对系统时间敏感。原创 2024-10-22 14:12:26 · 172 阅读 · 0 评论 -
java基础学习:
平滑加权轮询算法(Smooth Weighted Round Robin Algorithm,简称SWRR)是一种用于负载均衡的算法,旨在根据服务器的权重和负载情况,实现请求的平滑分发。原创 2024-10-20 20:32:51 · 291 阅读 · 0 评论 -
java基础学习:序列化之 - kryo
Kryo是一个快速且高效的Java序列化框架,它主要用于将Java对象转换为字节流以便存储或传输,同时能够将字节流反序列化为原始Java对象。Kryo相比Java自带的序列化机制具有更高的性能和更小的序列化体积。原创 2024-07-17 22:00:00 · 1333 阅读 · 0 评论 -
java基础学习:序列化之 - hessian2
Hessian2是Hessian协议的一个更新版本,由Caucho Technology公司开发。Hessian是一种基于二进制的轻量级、高效的跨语言序列化协议。Hessian2相较于原始Hessian协议,在多个方面进行了改进和优化。Hessian2作为一种基于二进制的跨语言序列化协议,在分布式系统和微服务架构中具有广泛的应用前景。其高效的序列化算法、紧凑的协议设计以及支持复杂数据类型等特点,使得Hessian2成为处理大量数据传输和共享的理想选择。原创 2024-07-16 21:15:00 · 717 阅读 · 0 评论 -
java基础学习:序列化之 - ObjectMapper
ObjectMapper 是 Jackson 库中的一个核心类,用于在 Java 对象和 JSON 数据之间进行转换。Jackson 是一个流行的 Java 库,用于处理 JSON 数据。它提供了灵活的方式来序列化和反序列化 Java 对象,即将 Java 对象转换成 JSON 格式的字符串,以及将 JSON 格式的字符串转换回 Java 对象。原创 2024-07-16 14:35:38 · 779 阅读 · 0 评论 -
java基础学习:Class类的isAssignableFrom方法
在Java中,Class类有一个名为isAssignableFrom()的方法。这个方法用于判断一个类对象是否表示指定的类的类对象、接口、超类或超接口。换句话说,它用于检查一个类是否是另一个类的子类、接口实现或它们本身就是同一个类。在这个例子中,isSubclass将是一个布尔值,指示AnotherClass是否是SomeClass的子类、接口实现或它们是否是同一个类。原创 2024-06-28 14:37:02 · 478 阅读 · 0 评论 -
Java基础学习: 代理模式(Proxy Pattern)
代理模式。原创 2024-05-31 20:14:05 · 505 阅读 · 0 评论 -
Java基础学习:深入解析Java中的位运算符
在Java中,位运算符用于对整数类型的值进行位运算。:将操作数的二进制表示向右移指定位数,高位补原符号位,低位丢弃。:将操作数的二进制表示向左移指定位数,高位丢弃,低位补0。:将操作数的二进制表示向右移指定位数,高位补0,低位丢弃。:两位都为1时,结果为1,否则为0。:两位中有1个为1,结果为1。:位的反,0变1,1变0。:两位不同时结果为1。原创 2024-05-29 22:19:39 · 781 阅读 · 0 评论 -
Java基础学习:java中的基础注解
在Java中,有一些内置的(或称为“基础”)注解(annotation),这些注解在Java标准库中定义,并且具有特定的用途。:Java中的内置注解主要用于元数据编程、文档生成、编译时检查等目的。开发者还可以创建自定义注解,以满足特定的需求。原创 2024-05-22 22:15:00 · 481 阅读 · 0 评论 -
Java基础学习:Dozer映射框架
Dozer是一个Java工具,主要用于在相同类型或不同复杂类型的JavaBean之间进行数据的递归复制。这个工具在分层的J2EE系统中非常有用,尤其是在JavaBean之间的数据拷贝过程中。Dozer的特点包括默认属性映射:如果两个JavaBean的属性名称相同,Dozer会自动将它们进行映射,而无需进行显式配置。自动类型转换:Dozer可以自动处理类型不同的属性映射,只要这些类型在Dozer可理解的范围内。这可以极大地提高开发效率。处理null属性。原创 2024-05-07 19:00:09 · 1308 阅读 · 0 评论 -
Java基础学习:timestamp时间戳转string格式时间
生成timestamp对象时的传参其实要求的是milliseconds,这时时间戳是13位。有时使用时也会传参seconds,这时时间戳位10位。原创 2024-04-09 19:18:23 · 1870 阅读 · 0 评论 -
Java基础学习: java.lang.Void
在Java中,java.lang.Void 是一个特殊的包装类,用于表示 void 类型。虽然 void 关键字在Java中通常用于表示方法没有返回值,但 java.lang.Void 类提供了对 void 类型的一个有限的、有用的封装。原创 2024-04-08 13:16:21 · 439 阅读 · 0 评论 -
Java基础学习:Java agent
Java Agent是Java编程语言提供的一种特殊机制,允许在程序运行过程中对字节码进行转换和增强。它通过Java的Instrumentation API来实现,主要用于在应用程序加载类时进行监测、修改和增强。Java Agent通常被用于实现性能监测、代码分析、方法耗时统计、字节码增强等功能。Java Agent的主要特点在于其动态性,它允许在程序运行时加载代理类,对类进行转换和增强,从而实现动态修改已编译类的功能。原创 2024-04-05 23:12:06 · 644 阅读 · 0 评论 -
Java基础学习: Forest - 极简 HTTP 调用 API 框架
Forest是一个开源的Java HTTP客户端框架,专注于简化HTTP客户端的访问。它是一个高层的、极简的轻量级HTTP调用API框架,通过Java接口和注解的方式,将复杂的HTTP请求细节隐藏起来,使HTTP请求与业务之间实现松耦合。这样,开发人员可以专注于自己的业务逻辑,同时轻松处理各种HTTP请求。Forest能够将HTTP的所有请求信息(包括URL、Header以及Body等)绑定到自定义的接口方法上,使开发人员可以通过调用本地接口方法的方式发送HTTP请求。原创 2024-04-03 14:08:55 · 2008 阅读 · 0 评论 -
Java基础学习: 响应式编程
响应式编程是一种编程范式,旨在处理异步数据流和基于事件的编程。它侧重于数据流和变化的响应,而不是传统的请求-响应模式。响应式编程通常使用异步数据流来构建应用程序,其中数据流可以是来自用户界面、网络请求、文件系统或其他源的事件。响应式编程的关键概念包括:数据流:在响应式编程中,数据被视为一系列连续的事件或值的流。这些事件可以是用户输入、网络请求的响应、定时器触发等。观察者模式:响应式编程通常使用观察者模式来处理数据流。观察者订阅数据流,并在数据发生变化时收到通知。原创 2024-04-02 13:47:50 · 769 阅读 · 0 评论 -
Java基础学习: 格式化之 %d,%2d, %02d
这些格式化符号通常用于在打印输出时,控制输出的格式,使得输出更具有可读性或美观性。%d 是最基本的整数格式化符号,%2d 和 %02d 则是对其进行扩展,提供了更灵活的输出格式选项。在Java中,%d 是用于格式化整数的格式化符号。原创 2024-04-02 09:50:32 · 1535 阅读 · 0 评论 -
Java基础学习: java中的回调地狱问题
在Java中,虽然回调地狱(Callback Hell)这个概念不像在JavaScript中那样常见,但回调地狱确实是一个编程中可能遇到的问题,尤其是在处理大量嵌套回调时。回调地狱指的是当回调函数嵌套层次过深,导致代码难以理解和维护的情况。原创 2024-04-01 22:30:00 · 670 阅读 · 0 评论 -
Java基础学习: 函数式接口总结
这个接口表示对类型为T的对象进行一元操作并返回相同类型结果的函数。这个接口表示接受两个类型为T的参数并产生一个类型为T结果的操作。这个接口表示一个布尔值函数,它确定指定的对象是否满足某个条件。这个接口表示一个接受两个输入参数并返回一个布尔值的函数。这个接口表示接受一个输入参数并且不返回结果的操作。这个接口表示接受两个参数并产生一个结果的函数。Function接口的特点是:有输入、有输出。这个接口表示一个无参数并产生一个结果的函数。原创 2024-04-01 13:30:38 · 380 阅读 · 0 评论 -
Java基础学习: hutool之CollUtil集合操作工具类
Hutool是一个Java工具类库,它简化了Java的开发,提供了很多实用的API。在Hutool中,对于集合(Collection)的操作提供了很多便捷的方法。原创 2024-04-01 21:00:00 · 2473 阅读 · 0 评论 -
Java基础学习: JDK动态代理
JDK动态代理是Java提供的一种动态生成代理类和代理对象的技术。它主要利用Java的反射机制实现,在运行时动态地创建代理类,并为其生成代理对象。JDK动态代理主要用于实现AOP(面向切面编程)等场景,用于在不修改目标类代码的情况下,为目标类添加额外的功能。原创 2024-03-31 21:09:27 · 2157 阅读 · 0 评论 -
Java基础学习: cn.hutool.extra.spring.SpringUtil中的方法介绍
cn.hutool.extra.spring.SpringUtil 是 Hutool 工具包中用于 Spring 框架的辅助类,它提供了一系列静态方法,方便在非 Spring 管理的类中获取 Spring 容器中的 Bean,或者执行与 Spring 容器相关的操作。getApplicationContext():获取当前 Spring 应用的上下文(ApplicationContext)。原创 2024-03-19 20:23:29 · 1812 阅读 · 0 评论 -
Java基础学习: cn.hutool.extra.servlet.ServletUtil中的方法介绍
cn.hutool.extra.servlet.ServletUtil 是 Hutool 工具包中的一个类,用于提供一系列辅助 Servlet 操作的方法。-- 此包一般在Servlet容器中都有提供 -->getString(HttpServletRequest request, String name, String defaultValue):从请求中获取指定名称的字符串参数,如果参数不存在则返回默认值。原创 2024-03-19 20:14:54 · 1534 阅读 · 0 评论 -
java基础学习: 计算概率并保留2位小数
在这两种方法中,第二种方法更常用,因为它更简单且通常能够满足需求。String.format()方法中的%.2f表示输出一个浮点数并保留两位小数。%%用于输出一个百分号,因为在String.format()中,%是一个特殊字符,所以需要使用两个%来表示一个实际的%字符。在大多数情况下,使用String.format()已经足够满足需求,但如果你需要更精确的数值计算(比如金融计算),那么使用BigDecimal是更好的选择。原创 2024-03-18 19:52:55 · 407 阅读 · 0 评论 -
java基础学习: Java 中获取文件路径的几种方式
【代码】java基础学习: Java 中获取文件路径的几种方式。原创 2024-02-23 19:57:27 · 4129 阅读 · 1 评论 -
java输入输出28:Properites的概述
Properites的概述1、Properties类表示了一个持久的属性集。2、Properties可保存在流中或从流中加载。3、属性列表中每个键及值都是字符串。Properties作为Map集合使用package zifu;import java.util.Properties;public class Demo18_Properties { /** * Properti...原创 2018-11-25 23:54:49 · 168 阅读 · 0 评论 -
java基础学习: 什么是泛型的类型擦除
泛型起到的作用就是将类型参数化,在不创建新类的情况下通过创建对象实例或应用时确定具体的数据类型,以提高代码的复用性以及用以解决类型爆炸问题。例如集合类中使用了泛型,可以存储任意的对象,这些对象公用集合类中定义的方法和处理逻辑,不需要为每个对象重新定义集合类,实现了代码复用以及防止了类型爆炸问题。原创 2024-01-21 10:14:08 · 644 阅读 · 0 评论 -
java基础学习: SPI机制原理+使用
SPI全称(Service Provider Interface),是JDK内置的一种服务提供发现机制;SPI机制提供了组件发现和注册方式,可以为应用程序提供灵活的插件机制, 主要原理:接口 + 反射+ 配置文件。原创 2023-12-31 21:04:33 · 509 阅读 · 0 评论 -
java输入输出21:File类递归
打印某目录下的sh文件及其子目录下的sh文件,代码如下:package zifu;import java.io.File;import java.util.Scanner;public class Demo10_Digui { public static void main(String[] args) { File dir = getDir(); printJavaFile...原创 2018-11-25 11:26:19 · 117 阅读 · 2 评论 -
Java基础学习: 四中权限修饰符
写在前面修饰符(1)权限修饰符:private ,默认修饰符,protected,public。(2)状态修饰符:static,final。(3)抽象修饰符:abstract。类(1)权限修饰符:默认修饰符,public。(2)状态修饰符:final。(3)抽象修饰符:abstract。成员变量权限修饰符:private,默认的,protected,public。状态修饰符...原创 2018-12-23 16:59:32 · 242 阅读 · 1 评论 -
Java基础: 从Excel中获取数据生成shell脚本
从Excel中读取表名,由于每个字段会对应一个表名,故读取的某列会有若干个连续的表名出现,所以用set集合来存储表名避免重复。实现1:package com.my.cn;import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.IOException;impo...原创 2018-11-18 13:09:14 · 1150 阅读 · 1 评论 -
java基础学习: 方法重写和重载的应用
两小”指的是子类方法返回值类型应比父类方法返回值类型更小或相等,子类方法声明抛出的异常类应比父类方法声明抛出的异常类更小或相等;需要指出的是覆盖方法和被覆盖方法要么都是类方法,要么都是实例方法,不能一个是类方法,一个是实例方法。当子类需要父类的功能,而功能主体子类有自己特有的内容时,可以重写父类中的方法。方法重写:子类中出现了和父类中方法声明一模一样的方法(包括返回值类型,方法名和参数列表)。方法重载:本类中出现的方法名一样,参数列表不同的方法(个数和类型)。(2)子类重写父类方法时,访问权限不能更低。原创 2018-12-16 22:53:57 · 219 阅读 · 1 评论