java
沙洲小骆驼
编程还有有点好玩的鸭
展开
-
vue前端 + java文件下载
vue部分前端代码<el-table-column prop="displayName" min-width="100" show-overflow-tooltip header-align="center" label="附件名称"> <template slot-scope="scope"> <el-link style="color: #409eff;cursor: pointer" @click="downL原创 2021-05-17 15:33:27 · 470 阅读 · 0 评论 -
sso入门
https://blog.csdn.net/lchq1995/article/details/79527490单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。以下是个人查询资料的借鉴及对接某大型互联网公司单点系统后的一个总结和理解...原创 2020-12-07 14:59:20 · 160 阅读 · 0 评论 -
java 日志学习
日志和异常处理结合得当的话,会给项目维护带来非常大的价值。• 日志:就是介绍一个过程和经历的详细记录。• 项目日志:就是项目开发过程的详细记录,一般由项目经理记录。• 代码里的日志:就是程序员记录某个开发过程的详细情况,这是项目里每个程序员需要做的工作。代码里的日志在项目中扮演着非常重要的角色,日志记录的详细程度决定系统是否容易维护,Java 项目中日志记录的框架有很多,在项目中如何选型也必将困惑。我们这场 chat 讨论的主题就是:Java代码里的日志,主要是写给 Java 程...原创 2020-12-03 14:27:02 · 182 阅读 · 0 评论 -
HashMap实现原理
https://wiki.jikexueyuan.com/project/java-collection/hashmap.html简单地说,HashMap 在底层将 key-value 当成一个整体进行处理,这个整体就是一个 Entry 对象。HashMap 底层采用一个 Entry[] 数组来保存所有的 key-value 对,当需要存储一个 Entry 对象时,会根据 hash 算法来决定其在数组中的存储位置,在根据 equals 方法决定其在该数组位置上的链表中的存储位置;当需要取出一个Entry原创 2020-10-21 17:04:40 · 79 阅读 · 0 评论 -
java集合简单理解
https://blog.csdn.net/zengxiantao1994/article/details/77018356Set:无序不重复HashSet:基于HashMap实现,HashSet底层采用HashMap来保存所有元素;为快速查找设计的Set。LinkedHashSet:HashSet类的子类;使用链表维护元素插入的次序。TreeSet:基于TreeMap实现,是一个有序集合;如果没有指定Comparator接口,则默认是自然排序;List:有序可重复A...原创 2020-10-21 13:22:26 · 111 阅读 · 0 评论 -
JVM内存结构
JVM的内存结构大概分为:堆(Heap):线程共享。所有的对象实例以及数组都要在堆上分配。回收器主要管理的对象。 方法区(Method Area):线程共享。存储类信息、常量、静态变量、即时编译器编译后的代码。 方法栈(JVM Stack):线程私有。存储局部变量表、操作栈、动态链接、方法出口,对象指针。 本地方法栈(Native Method Stack):线程私有。为虚拟机使用到的Native 方法服务。如Java使用c或者c++编写的接口服务时,代码在此区运行。 程序计数器(Progr..原创 2020-10-20 22:23:35 · 84 阅读 · 0 评论 -
常用排序算法 java
常见排序手写冒泡、选择了解堆排 插入排大致思想这篇写得不错,但是具体实现细节建议google,留作复习用https://www.cnblogs.com/guoyaohua/p/8600214.html 手写二分法https://juejin.im/post/6844903616629702669手写快排https://blog.csdn.net/nrsc272420199/article/details/82587933...原创 2020-10-20 10:05:05 · 73 阅读 · 0 评论 -
this关键字补充
https://blog.csdn.net/ccpat/article/details/44515335参考链接正常情况下this 表示当前类的当前实例对象package com.test.base;public class Test4 { String name = "aaa"; void show(){ System.out.println(this); } @Override public String toString(.原创 2020-09-21 16:34:45 · 103 阅读 · 0 评论 -
多线程概要知识点复习面试
1、线程状态2、常用函数常用方法网上大多数说的含糊不清,自己敲了下代码理解了一遍,大意如下,确保不会出错join() 执行完当前线程后再执行之后的线程,需要用在该线程的start方法之后,如果之前有线程已经start,不影响前面的线程static yield() 使该线程从运行状态变为就绪状态,与其他线程一起竞争资源static sleep(long xx ms) 使该线程沉睡XX ms,之后继续执行,不释放资源,也就是说XX ms过后可以直接继续执行wait() ...原创 2020-09-17 18:25:57 · 77 阅读 · 0 评论 -
java1.8新特性之stream流式算法
来源:https://blog.csdn.net/papima/article/details/81808445一. 流式处理简介 接触到java8流式数据处理的时候,流式处理让集合操作变得简洁了许多,通常我们需要多行代码才能完成的操作,借助于流式处理可以在一行中实现。比如我们希望对一个包含整数的集合中筛选出所有的偶数,并将其封装成为一个新的List返回,那么在java8之前,我们需要通过如下代码实现:List<Integer> evens = new ArrayList<.原创 2020-07-16 09:15:56 · 275 阅读 · 0 评论 -
树形列表遍历
遍历的树如图:实体类如图:遍历方法:// 方法调用getChildrenId(childMap, childMap.get(cur.getId()), ids);// 遍历树private void getChildrenId(Map<String, List<BudgetTreeYearVO>> childMap, List<BudgetTreeYearVO> children,原创 2020-07-14 15:39:44 · 643 阅读 · 0 评论 -
Map替换key
示例:import java.util.HashMap;import java.util.Map;public class Test { private static void show(Map<String,String> map){ for(Map.Entry<String, String> entry : map.entrySet()) { String mapKey = entry.getKey();原创 2020-07-14 14:54:54 · 4834 阅读 · 0 评论 -
Map遍历的四种方式
在java中所有的map都实现了Map接口,因此所有的Map(如HashMap, TreeMap, LinkedHashMap, Hashtable等)都可以用以下的方式去遍历。方法一:在for循环中使用entries实现Map的遍历:/*** 键值对都需要使用时,用的最多 */Map <String,String>map = new HashMap<String,String>();map.put("熊大", "棕色");map.put("熊二", "黄色.原创 2020-07-14 14:43:34 · 293 阅读 · 0 评论 -
复制树形列表功能实现
图为需要复制的内容需求简述:每个年度有不同的树形列表,该功能为复制新增树:先选择某个年度的树,点击复制新增后需要变为指定年度的树,树的结构完全一致,变化的是id,年度;详情:第一张图中的树是由2部分数据拼接的,其中深度为1-3的树在另一张表中定义,深度4+的树为需要复制的数据;难点:新生成的id与pid的映射解决思路:通过cpid中间字段保存旧id,实现映射代码思路:将原来数组按照树的深度拆分为各个数组,根据深度进行遍历,将每个深度的数组id,pid和年度逐一替换(很笨拙的方法,后.原创 2020-06-05 13:40:43 · 1434 阅读 · 0 评论