摘要: 在Spring/Spring Boot的入门上我绕了很多弯路,我绕过的一个典型的弯路是: 找一个 的入门案例,下载代码跟着跑了一遍,跑通之后确不能理解代码,尤其是各种配置文件以及注解让我难以理解这个程序究竟是怎么跑起来的。 , 这些注解到底是什么意思,它的工作流程是怎样的? 我怀疑自己是注解相关的知 阅读全文
posted @ 2019-11-20 16:35 lllunaticer 阅读(291) 评论(0) 推荐(1) 编辑
摘要: 1、海量日志数据,提取出某日访问百度次数最多的那个IP。 来源 算法思想:分而治之+Hash1.IP地址最多有2^32=4G种取值情况,所以不能完全加载到内存中处理; 2.可以考虑采用“分而治之”的思想,按照IP地址的Hash(IP)%1024值(hash映射),把海量IP日志分别存储到1024个小 阅读全文
posted @ 2019-09-05 00:02 lllunaticer 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 双重检查锁定与延迟初始化 在Java多线程程序中,有时候需要采用延迟初始化来降低初始化类和创建对象的开销。双重检查锁定是常见的延迟初始化技术,但它是一个错误的用法。 非线程安全的延迟初始化对象 package 双重检查锁定与延迟初始化; //非线程安全的延迟初始化对象 public class Un 阅读全文
posted @ 2019-08-19 18:12 lllunaticer 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 23. Merge k Sorted Lists 要点: 1. 学会数据结构PriorityQueue(优先队列)的用法, 通过给优先队列传入自定义的经过复写compare方法的比较器实现大根堆或者小根堆。 2. PriorityQueue中不能存放null值,所以每次更新优先队列都需要作判空检查, 阅读全文
posted @ 2019-08-17 17:38 lllunaticer 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 二分法查找算法模板: 1. mid不在左边边界上就在右边边界上 2. 当有个边界时mid-1时,则为了防止死循需要在计算mid时+1; 版本1当我们将区间[l, r]划分成[l, mid]和[mid + 1, r]时,其更新操作是r = mid或者l = mid + 1;,计算mid时不需要加1。 阅读全文
posted @ 2019-06-11 22:32 lllunaticer 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 自己做的几个小项目 以下需要总结整理细节部分 1. 车道线检测 2. 视频解压缩编码、传输等 3. 一个用python做的路径寻址application 关于三维模型搜索引擎项目相关度排序算法是怎么做的: 以文字搜模型: 基于Lucene文本搜索引擎,查找最匹配的; 以图片搜模型: 计算图片特征,对 阅读全文
posted @ 2019-03-19 23:21 lllunaticer 阅读(370) 评论(0) 推荐(0) 编辑
摘要: 第一模块--并发与多线程 Java多线程方法: 实现Runnable接口, 继承thread类, 使用线程池 操作系统层面的进程与线程(对JAVA多线程和高并发有了解吗?) 1.进程 定义:进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动, 进程是系统进行资源分配和调度的一个独立单位。 阅读全文
posted @ 2019-03-18 16:19 lllunaticer 阅读(1267) 评论(0) 推荐(0) 编辑
摘要: 冒泡排序 //冒泡排序 //时间复杂度为O(N^2),空间复杂度为O(N) public class BubbleSort { public static void bubbleSort(int[] arr) { if (arr.length == 0 || arr.length == 1) { r 阅读全文
posted @ 2022-09-01 00:11 lllunaticer 阅读(13) 评论(0) 推荐(0) 编辑
摘要: LeetCode Hot 100 link 198. 打家劫舍 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你 阅读全文
posted @ 2022-08-09 22:14 lllunaticer 阅读(28) 评论(0) 推荐(0) 编辑
摘要: @Test public void testChangeStudents() { List<Student> students = new ArrayList<Student>() {{ add(Student.builder().age(50).build()); add(Student.buil 阅读全文
posted @ 2022-06-15 17:04 lllunaticer 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 剑指OFFER第二版 找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示例 1: 输入: [2, 3, 1, 0, 2, 5, 3] 输 阅读全文
posted @ 2022-06-10 13:52 lllunaticer 阅读(53) 评论(0) 推荐(0) 编辑
摘要: REF linux #!/bin/bash # 获取要监控的本地服务器IP地址 IP=`ifconfig | grep inet | grep -vE 'inet6|127.0.0.1' | awk '{print $2}'` echo "IP地址:"$IP # 获取cpu总核数 cpu_num=` 阅读全文
posted @ 2021-04-15 17:19 lllunaticer 阅读(49) 评论(0) 推荐(0) 编辑
摘要: ParameterizedType ParameterizedType represents a parameterized type such as Collection 源码: public interface ParameterizedType extends Type { /** * Ret 阅读全文
posted @ 2021-03-15 21:59 lllunaticer 阅读(95) 评论(0) 推荐(0) 编辑
摘要: @NotNull 注解和@NonNull 注解 有很多不兼容的实现, 这个问题Which @NotNull Java annotation should I use?下列举了@NotNull的两个实现和@NonNull的5个实现。 @NotNull org.jetbrains.annotations 阅读全文
posted @ 2021-01-23 11:03 lllunaticer 阅读(2278) 评论(0) 推荐(0) 编辑
摘要: 清华大学计算机组成原理 传送门 已完成 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 计算机组成原理(01) 计算机组成原理(02) 计算机组成原理(03) 计算机组成原理(04) ++ 阅读全文
posted @ 2020-10-14 22:32 lllunaticer 阅读(777) 评论(1) 推荐(0) 编辑
摘要: 1、微信读书 《深入java web技术内幕》 许令波 把跟自己相关的部分大都读完了, 有些地方没看懂,比如spring框架, spring mvc, 字节码等等 可以后期再看 2、B站 清华大学操作系统 课学完了,有些地方其实听的不是很认真,但可以作为后期阅读操作系统书的一个基础 阅读全文
posted @ 2020-09-16 20:54 lllunaticer 阅读(134) 评论(0) 推荐(0) 编辑
摘要: java项目 service层和biz层的区别 如果是贫血模式 就不是多此一举 项目前期 或者小项目没什么太大区别 但是项目大了以后 区别就很大了 项目开发到后期的话 你一个项目内包含有其他的小项目 比如 后台 erp 商城 等等 都用的是同一个数据库 这个时候 就不能使用一个service/biz 阅读全文
posted @ 2020-09-15 17:40 lllunaticer 阅读(266) 评论(0) 推荐(0) 编辑