![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
GreenTour
生活百般滋味 人生需要笑对
展开
-
数据结构 红黑树 hashMap(jdk8)
啥打法是否原创 2021-09-26 20:01:18 · 2587 阅读 · 1 评论 -
面试题 Java8 HashMap为什么是使用红黑树的数据结构
Java8 HashMap为什么是使用红黑树的数据结构前言问题为什么使用红黑树结构,不使用其他树状结构? 比如 BST, AVL 等前言java8 HashMap的底层实现是 数组+链表/红黑树(链表节点格式大于8)来实现的。问题为什么使用红黑树结构,不使用其他树状结构? 比如 BST, AVL 等红黑树 二叉查找树(BST) 平衡二叉树(AVL) 他们都是二叉树,分别在二叉树的基础上做了不同的特性限制二叉查找树(BST) 性能最差时可以达到O(n), 类似的但列表结构平衡二叉原创 2021-09-26 19:33:09 · 409 阅读 · 0 评论 -
JAVA基础串联( HashMap)
HashMap前言HashMap 为什么是线程不安全的。关联问题前言我们都知道HashMap是线程不安全的,在多线程环境中不建议使用,多线程下建议使用 currentHashMap 分段锁机制Collections.synchronizedMap(new HashMap<>());HashMap 为什么是线程不安全的。系统梳理前:HashMap实现了Map接口,底层是由数组+链表的的结构实现, 数组是一个固定大小的数据结构,数组每次数量到达最大临界值时需要动态扩容,扩容的底层实原创 2021-09-26 16:59:09 · 99 阅读 · 0 评论 -
JAVA基础 native
JAVA基础一、关键字 native一、关键字 nativenative的含义是什么? native: 含义是"原生",表示调用非JAVA实现的其他语言类库,比如 C 、 C++java中为什么引入 native?1. JAVA的弊端是"JAVA无法对操作系统底层进行操作"。2. JAVA是通用性的高级语言, JAVA不能覆盖诸多系统的本地语言(原生语言)。3. 由native修饰的方法,不需要使用JAVA语言实现,由其他语言的类库来实现。eg: public native int has原创 2021-08-09 12:06:27 · 125 阅读 · 0 评论 -
JAVA 练习题【基础】
预测 下面的程序 输出什么public class Base { private int data; public Base() { data = 5; } public int getData() { return this.data; }}class Derived extends Base{ private int data; public Derived(){ data = 6;原创 2021-08-05 15:03:12 · 62 阅读 · 0 评论 -
函数编程 JAVA8 @FunctionalInterface
JAVA为什么引入函数式编程Stream 与 MapReduce 思想上有什么关系**reduce 与 reduce() 有什么区别 **@FunctionalInterface的默认函数 与 default关键字的含义有什么区别?@FunctionalInterfacepublic interface Function<T, R> {/** * Applies this function to the given argument. * * @param t the func原创 2021-08-03 12:14:44 · 205 阅读 · 0 评论 -
函数编程 JAVA8
问题的引出什么是函数式编程JAVA8 为什么引入函数是编程函数式编程与命令式编程的本质区别是什么?后续需要单独整理的专题。函数式编程 与scala正文1.什么是命令式编程(imperative)命令式编程的主要思想是:关注计算机的执行步骤C++ JAVA Python 均是采用命令式的编程思想eg:要把大象装冰箱第一步:把冰箱门打开第二步:把大象装进去第三步:把冰箱门带上(关上)这是一种很常见的 步骤式的逻辑思维2.什么是函数式编程(functional)原创 2021-07-29 15:42:41 · 93 阅读 · 0 评论 -
JVM 小小案例01
問題:下面代码最终输出是什么?通过解题过程,抛出一个新问题,如何描述 成员变量与局部变量在栈中的变量?栈的归属是什么?public class TestA { public String str="6"; /** * 问题: 最终输出的是 几? * 解题过程 * <ol> * <li>1.在栈中创建变量"sv"; 在堆中穿创建引用变量 "new TestA()"</li> *原创 2021-07-16 16:25:24 · 51 阅读 · 0 评论 -
函数编程 JAVA8 Stream
待续排序 public static void testSorted() { List<Integer> numList = Arrays.asList(1, 3, 7, 5, 2, 9, 6, 4); List<Integer> collect = numList.stream().sorted().collect(Collectors.toList()); log.info("sort is {}", JSONObject.to原创 2021-05-08 15:02:06 · 101 阅读 · 0 评论 -
java8 把存在树状结构的集合转换为存在层级关系的树状结构
/** * 将存在树状结构的集合转换为存在层级关系的树状结构 */@Slf4jpublic class CityListToTreeTest { public static void main(String[] args) { // 做源数据 String citysJsonStr = "[{\"name\":\"河北\",\"code\":\"hebei\",\"parent\":null},{\"name\":\"石家庄\",\"code\":\"sh原创 2021-05-07 16:00:59 · 814 阅读 · 1 评论 -
函数编程 JAVA8 Stream
public class DataUtils { private static final String PATTERN_YYYYMMDDHHMMSS = "yyyy-MM-dd HH:mm:ss"; public static Date asDate(LocalDate localDate) { return Date.from(localDate.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());原创 2021-06-16 16:12:28 · 48 阅读 · 0 评论 -
开发工具 jmeter
链接: link.图片: 带尺寸的图片: 居中的图片: 居中并且带尺寸的图片:原创 2021-06-02 10:53:21 · 115 阅读 · 1 评论 -
JAVA基础 jdk8 Optional
/** * optionalAPI用法说明 * <p> * 注意点: public final class Optional<T> { } 实体没有实现Serializable接口, * 所以不能作为实体属性, 不可以做为RPC框架的返回值 * </p> */public class OptionalTest implements Serializable { public static void main(Stri原创 2021-05-21 17:07:32 · 61 阅读 · 0 评论 -
org.mapstruct.Mapper
1.什么是Mapper?MapStruct是一个代码生成器,简化了不同的Java Bean之间映射的处理。mapstruct是一个基于java注解生成类型安全bean2.Mapper有什么作用?3.示例小样: 直接贴代码// 示例小样1 @Mapper(uses = { SuperheroAlignmentMapper.class }, componentModel = "spri...原创 2020-02-19 19:24:36 · 16344 阅读 · 0 评论 -
spring-core org.springframework.core.convert.converter.Converter
Spring Converter1.converter包下的接口定义2.1 Converter接口 :使用最简单,最不灵活;2.2 ConverterFactory接口 :使用较复杂,比较灵活;2.3 GenericConverter接口 :使用最复杂,也最灵活;2.1 Converter 接口定义package org.springframework....原创 2020-02-19 01:01:06 · 3698 阅读 · 0 评论 -
java import 和 import static 的区别
java 随机:import --分为类导入和方法静态导入两类。类导入-- import com.a.b.ClassName;方法静态导入 --import static com.a.b.ClassName.FunctionName;// 导入该类的指定静态方法; --import static com.a.b.ClassName.*;// 导入该类的全部静态方法:原创 2015-05-04 00:45:46 · 380 阅读 · 0 评论 -
Cloneable --shadow clone --deep clone
java 随笔什么场景应实现Cloneable接口 --共享、缓存数据。java的Cloneable接口是一个对象(堆)的拷贝技术,类似于serializable接口。java中的全部对象和变量都存放在堆栈中。Cloneable接口就是在堆栈中新建立一个与被copy对象在堆栈中一样的地址块。package zl.a.clone;/** * java对象的copy原创 2015-05-04 11:41:06 · 342 阅读 · 0 评论 -
java 事物级别说明 事物注解的使用
待续原创 2016-06-28 14:42:06 · 655 阅读 · 0 评论 -
欢迎使用CSDN-markdown编辑器
Redis命令行 中文汉字转义 乱码 Demo: 127.0.0.1:6379> get testA “\xe5\x8c\x85\xe5\x90\xab\xe5\xa4\x96\xe9\x83\xa8\xe8\xb4\xa6\xe6\x88\xb7\xe6”解决方法: 在请用redis-cli时 添加 –raw redis-cli -a root –raw 127.0.0.1:原创 2017-02-07 13:15:35 · 236 阅读 · 0 评论 -
java 文件下载 文件名称中文不显示
String fileName = “文件名称.doc” try { String fileName = new String(downFileName.getBytes(), “ISO-8859-1”); response.setHeader(“Content-Disposition”, “attachment;fileName=”+ fileName);原创 2017-02-08 13:06:06 · 7003 阅读 · 0 评论 -
linux JDK 环境变量设置
从官网下载 jdk文件 2.网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html XXXX.tar.gz是源文件,XXXXX.rpm 是二进制执行文件。在linux创建目录。 cd /usr mkdir java上传源文件并授权后解压chmod +x XXXXXX.ta原创 2017-07-17 11:26:23 · 376 阅读 · 0 评论 -
centeros 7 搭建vsftpd服务
系统环境: centeros 7.3 参考文献: http://pcvc.net/blog/2015/08/09/centos-7-installation-configuration-do-vsftpd-ftp-service/ ===========================vsftp的搭建=========================== 1.判断系统是否安装vsftp原创 2017-12-28 18:33:26 · 505 阅读 · 0 评论 -
常用注解说明 @Value
目的:简化项目中properties配置文件的读取。 解决方案:Spring提供了@Value的方式读取,可以简化项目的配置。1.@Value Spring配置文件(方式一)<context:property-placeholder ignore-resource-not-found="true" local-override="true" location="class...原创 2018-03-27 22:31:18 · 914 阅读 · 0 评论 -
redis 使用记录
incr命令 1. 如果key为空时,expire 有效时间是无效的,注意结果的返回值原创 2018-07-17 07:44:43 · 564 阅读 · 0 评论 -
mybatis generator 说明
1.添加依赖:2.pom文件: <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.3</version> </原创 2018-07-17 07:53:16 · 353 阅读 · 0 评论