自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Hireek的博客

每天都要进步呀!

  • 博客(46)
  • 收藏
  • 关注

原创 基于Traefik3.0和Let‘s Encrypt以及阿里dns的HTTPS方案(docker 部署)

复制ACCESS_KEY和SECRET_KEY。

2023-09-27 11:21:52 404

转载 获取文件类型

【代码】获取文件类型。

2022-10-19 17:33:52 242 1

原创 jave2视频转码(m1)

jave2视频转码

2022-10-18 16:55:01 294

原创 mac安装最新Kafka3.0

安装/下载、解压使用版本:Scala 2.13 - kafka_2.13-3.1.0.tgz官网下载:https://kafka.apache.org/downloads解压到一个目录即可。也可用brew。下面bash都在根目录执行启动bin/zookeeper-server-start.sh -daemon config/zookeeper.propertiestopic创建topic,3.0版本已不依赖zkbin/kafka-topics.sh --create --b

2022-02-26 20:02:45 1587

原创 数组中的第K个最大元素(java go)

数组中的第K个最大元素核心:快速排序,扩展只排多少个。javapublic int findKthLargest(int[] nums, int k) { if (nums.length < 1 || k < 1 || k > nums.length) { return -1; } return partition(nums, 0, nums.length - 1, nums.length - k);}public int partiti

2022-02-05 17:52:59 352

原创 添加与搜索单词 - 数据结构设计 (java、go版本)

211. 添加与搜索单词 - 数据结构设计请你设计一个数据结构,支持 添加新单词 和 查找字符串是否与任何先前添加的字符串匹配 。实现词典类 WordDictionary :WordDictionary() 初始化词典对象void addWord(word) 将 word 添加到数据结构中,之后可以对它进行匹配bool search(word) 如果数据结构中存在字符串与 word 匹配,则返回 true ;否则,返回 false 。word 中可能包含一些 '.' ,每个 . 都可以表示任

2022-02-04 22:05:24 107

原创 单词搜索 java go

79. 单词搜索javapublic class Solution { int m; int n; boolean[][] vis; public boolean exist(char[][] board, String word) { m = board.length; n = board[0].length; vis = new boolean[m][n]; // 也可以内置标记,不需要额外空间 for (int i = 0; i < m; i+

2022-01-28 11:38:42 364

原创 go圣经笔记——程序结构

命名 namingGo语言中的函数名、变量名、常量名、类型名、语句标号和包名等所有的命名,都遵循一个简单的命名规则:一个名字必须以一个字母(Unicode字母)或下划线开头,后面可以跟任意数量的字母、数字或下划线。大写字母和小写字母是不同的:heapSort和Heapsort是两个不同的名字。Go语言中类似if和switch的关键字有25个;关键字不能用于自定义名字,只能在特定语法结构中使用。break default func interface selectca

2022-01-27 17:47:57 417

原创 矩阵置0 JAVA

矩阵置零,leetcodepublic void setZeroes(int[][] matrix) { // 每一行的第一列记录该行是否出现0 int m = matrix.length, n = matrix[0].length; // 原本的第一列是否为0; boolean flagCol = false; for (int i = 0; i < m; i++) { if (!flagCol && matrix[i][0]

2022-01-27 15:30:56 448

原创 go圣经笔记——入门

文章目录Hello, Worldpackage命令行参数查找重复行GIF动画获取URL1.6. 并发获取多个URLWeb服务本章要点命名类型指针方法和接口packages配置下idea环境(go版本1.17.1),按照go语言圣经目录进行学习。Hello, Worldpackage mainimport "fmt"func main() { /* 这是我的第一个简单的程序 */ fmt.Println("Hello, World!")}Go是一门编译型语言,Go语言的工具链将源代码

2022-01-25 20:25:11 713

原创 Spring核心浅析——AOP

文章目录Spring核心——AOPConcepts源码测试代码internalAutoProxyCreatorinitializeBeanAbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization调用AnnotationAwareAspectJAutoProxyCreator的父类AbstractAutoProxyCreator。使用什么代理?DynamicAdvisedInterceptor.intercept

2022-01-22 16:55:49 399

原创 下一个排列

下一个排序leetcodepublic void nextPermutation(int[] nums) { if (nums.length < 2) return; int len = nums.length; int i = len - 2; // 从后向前找到递减的第一个数 while (i >= 0 && nums[i] >= nums[i + 1]) i--; int j = len - 1; // 找到

2022-01-22 10:08:46 295

原创 Spring源码浅析——DI(依赖注入)

Spring核心-DI官网解读Dependency injection (DI) is a process whereby objects define their dependencies (that is, the other objects with which they work) only through constructor arguments, arguments to a factory method, or properties that are set on the object

2022-01-20 21:46:30 429 1

原创 三数之和 java

三数之和public class Q15 { List<List<Integer>> res = new ArrayList<>(); public List<List<Integer>> threeSum(int[] nums) { Arrays.sort(nums); IntStream.range(0, nums.length - 2).filter(i -> i <= 0 ||

2022-01-19 23:38:30 158

原创 SpringBoot源码浅析,IOC及自动装配

一直在思考的路上Spring是什么Spring makes it easy to create Java enterprise applications.对于java来说,即优秀的框架,简化开发。核心的原则、模式好莱坞原则don‘t call us, we‘ll call you.Don’t call us, we’ll call you (Hollywood’s Law): A tool should arrange for Tajo to notify it when the user wis

2022-01-16 17:39:33 341

原创 I hope you...

“For what it’s worth… it’s never too late, or in my case too early, to be whoever you want to be. There’s no time limit. Start whenever you want. You can change or stay the same. There are no rules to this thing. We can make the best or the worst of it. I

2022-01-16 12:14:21 237

原创 面试题 17.23. 最大黑方阵 java

leetcode link给定一个方阵,其中每个单元(像素)非黑即白。设计一个算法,找出 4 条边皆为黑色像素的最大子方阵。返回一个数组 [r, c, size] ,其中 r, c 分别代表子方阵左上角的行号和列号,size 是子方阵的边长。若有多个满足条件的子方阵,返回 r 最小的,若 r 相同,返回 c 最小的子方阵。若无满足条件的子方阵,返回空数组。示例 1:输入:[ [1,0,1], [0,0,1], [0,0,1]]输出: [1,0,2]解释: 输入中 0

2022-01-16 10:40:36 232

原创 面试题 17.09. 第 k 个数

第K个数leetcode link有些数的素因子只有 3,5,7,请设计一个算法找出第 k 个数。注意,不是必须有这些素因子,而是必须不包含其他的素因子。例如,前几个数按顺序应该是 1,3,5,7,9,15,21。示例 1:输入: k = 5输出: 9题目分析,丑数(符合要求的数,只有3、5、7 的素因子,当然也不会包括其他的素因子(1除外,1没有素因子,与任何正整数都互质))数列的第k个。如何得到丑数数列呢。或者说规律。动态规划class Solution { public

2022-01-15 10:13:01 183

原创 设计模式的一点思考

设计模式抓住变化,封装变化关键词:面向对象、变化、抽象、复用、可扩展WhatChristopher Alexander says, “Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this so

2022-01-12 21:58:17 508

原创 ConcurrentHashMap源码剖析

文章目录源码Constants & FieldssizeCtl含义负数0正数-NTable element accesspublic V put(K key, V value)initTable()helpTransfer并发transfer总结源码Constants & Fieldspublic class ConcurrentHashMap<K,V> extends AbstractMap<K,V> implements ConcurrentMap&

2022-01-08 14:23:39 418

原创 Java并发编程之美——第八章 Java并发包中线程池ThreadPoolExecutor原理探究

Java并发编程之美——第六章 Java并发包中锁原理剖析Java并发编程之美——第五章 Java并发包中并发List(CopyOnWriteArrayList)源码剖析Java并发编程之美——第四章 Java并发包中原子操作类原理剖析Java并发编程之美——第三章 Java并发包中ThreadLocalRandom类原理剖析Java并发编程之美——第二章 并发编程的其他知识Java并发编程之美——第一章 Java并发编程基础文章目录Time 2022-01-02——Hireek介绍为什么需要线

2022-01-03 16:09:27 278

原创 Java并发编程之美——第六章 Java并发包中锁原理剖析

JUC

2022-01-01 21:41:53 2666 1

原创 Java并发编程之美——第五章 Java并发包中并发List(CopyOnWriteArrayList)源码剖析

CopyOnWriteArrayList是J.U.C下的一个线程安全的ArrayList

2021-12-30 21:21:17 263

原创 Java并发编程之美——第四章 Java并发包中原子操作类原理剖析

JUC原子操作类

2021-12-30 15:24:48 212

原创 Java并发编程之美——第三章 Java并发包中ThreadLocalRandom类原理剖析

文章目录Time 2021-12-28——HireekRandom类及其局限性使用int nextInt(int bound)int next(int bits)总结:ThreadlocalRandom使用类图源码分析static initThreadlocalRandom current()方法int nextlnt(int bound)方法总结Time 2021-12-28——HireekThreadLoca!Random类是JDK7在JUC包下新增的随机数生成器,它弥补了Random类在多线程下的

2021-12-29 07:26:14 371

原创 Java并发编程之美——第二章 并发编程的其他知识

文章目录Time 2021-12-27——Hireek什么是多线程并发编程为什么要并发Java中的线程安全什么是线程安全原子性可见性有序性synchronizedvolatileCAS(Comp are-and-Swap)并发处理的广泛应用是Amdahl定律代替摩尔定律成为计算机性能发展源动力的根本原因,也是人类压榨计算机运算能力的最有力武器。Time 2021-12-27——Hireek什么是多线程并发编程首先要澄清并发和并行的概念,并发是指同一个时间段内多个任务同时都在执行,并且都没有执行结

2021-12-27 22:05:01 530 2

原创 Java并发编程之美——第一章 Java并发编程基础

文章目录什么是线程线程的等待和通知等待线程终止的join方法让线程睡眠的sleep方法让出CPU执行权的yield方法线程中断demo线程上下文切换线程死锁什么是死锁如何避免死锁用户线程与守护线程ThreadLocalintroductionpublic void set(T value)private void replaceStaleEntry(ThreadLocal<?> key, Object value, int staleSlot)什么是线程引用自深入理解JVM第三版,线程是比

2021-12-26 23:06:16 1371 1

原创 阅读开源框架源码的一点心得

为什么要看源码。 ——摘自 前言我们在做项目的时候一般会遇到下面的问题:(l)不知道如何去设计。比如刚入职场时,来一个需求需做概要设计,不知如何下手,不得不去看当前系统类似需求是如何设计的,然后仿照去设计。(2)设计的时候,考虑问题不周全。相比职场新于,这类人对一个需求依靠自己的经验已经能够拿出一个概要设计,但是设计中经常会遗漏一些异常细节,比如使用多线程有界队列执行任务,遇到机器岩机了,如果队列里面的任务不存盘的话,那么机器下次启动的时候这些任务就丢失了。对于这些问题,说到底主要还是因为经

2021-12-26 07:29:38 394

原创 记忆集与卡表

记忆集与卡表为什么需要记忆集?跨代引用假说(IntergenerationalReferenceHypothesis):跨代引用相对于同代引用来说仅占极少数。存在互相引用关系的两个对象,是应该倾向于同时生存或者同时消亡的。举个例子,如果某个新生代对象存在跨代引用,由于老年代对象难以消亡,该引用会使得新生代对象在收集时同样得以存活,进而在年龄增长之后晋升到老年代中,这时跨代引用也随即被消除了。这时候便引出了记忆集(RememberedSet)概念。用以避免把整个老年代加进GCRoots扫描范围。事实上

2021-12-18 22:29:41 1467

原创 Could not find or load main class ​-XX:HeapDumpPath=

在测试学习VM参数-XX:HeapDumpPath(导出内存溢出的堆信息(hprof文件))。Error: Could not find or load main class…最后排查是符号格式问题。删除多余的空格。校验参数符号。ok!

2021-12-18 09:46:52 723

原创 mac idea rename等部分快捷键失效

2021-12-12 15:18:05 694

原创 mac 2021版idea maven 默认setting设置

上图

2021-11-25 13:52:16 1304

原创 easyExcel Content-Type: application/vnd.ms-excel 异常

自测ok,部署到服务器就报错。一开始以为消息转换器问题。。。没看cause by导致定位的方向错误。报错一看。缺少so库导致的。本地是m1pro的arm-jdk11。再看看线上的dockerfile。用的是FROM openjdk:13-alpine。猜想是:jre环境导致的问题。果然替换完整的jdk-11是可以的。...

2021-11-24 11:49:44 1766 1

原创 Java分割字符串并获取第几个字符串,优雅写法

// StringString[] split = cc.getTeacherPosition().split(REGEX);if (!ArrayUtils.isEmpty(split) && split.length > 1) { chaosCourseResponseDto.setTeacherPosition(split[1]);}// googleArrayList<String> strings = Lists.newArrayList(Spli

2021-11-17 15:42:09 2098

原创 对接微信小程序接口404

post请求,json格式传参。接口明明存在仍然报404。尝试删除参数。偶尔正常。最后将注解替换成RestController正常。应该是微信内部转换输入输出存在问题。

2021-11-17 15:35:24 1064

原创 Could not resolve placeholder ‘spring.application.name‘ in value “${spring.application.name}“

今天搭建脚手架很多问题。少个依赖。使用dubbo,服务必须指定依赖的服务。不然默认全扫。redission的集成。集成在nacos配置中心等。

2021-10-29 14:47:12 1783

原创 记一次老项目的SQL注入处理

问题:sql注入被工信部通报,我们查询接口发现是一个拼接sql,项目有很老的历史,致命缺点:版本未管理,没有线上的最新代码。架构:tomcat+mysql+spring解决措施:添加sql注入拦截器。替换线上的class文件。测试工具:sqlmap。坑1:tomcat服务器存在缓存,无法更新最新的class文件。2:sqlmap自带缓存。缓存未刷新,导致无法获取最新数据。...

2021-10-13 11:09:45 162

原创 MybatisPlus service.saveOrUpdateBatch null值未使用数据库默认值

因为不想自己造轮子,使用saveOrUpdateBatch批量插入和更新方法。发现属性为null值未使用数据库默认值。百度了好久网上也没啥合适方案。大多都是添加注解@TableFiled。试了好多次还是不行。之后发现预编译的preStatement使用的其实是insert。在mapper.xml重写一下sql语句就行了。最后提一下。saveOrUpdateBatch判断是否是插入还是更新方法,依赖主键是否存在值。有的时候不妨耐下心来看看日志,而不是CV 异常去搜索。问题迎刃而解。...

2021-09-16 17:11:29 3368

原创 XML 泛型 Jaxb有终极方案吗?webflux

博主最近在对接第三方api,奈何第三方输入输出全是xml啊。不仅需要对接他们的api,还需要提供回调地址。这这这。吐槽一波。本来之前也没使用过XML。下面接入正题。仅仅针对泛型怎么使用。...

2021-09-13 10:58:59 175 1

原创 javax.xml.bind.JAXBException: class nor any of its super class is known to this context.

最近对接XML的api文档。Bean转xml报错了。通过打断点发现缓存map不存在这个class。之后去查代码什么时候注册到这个beanInfoMap。最终发现在这块注解注入map时未初始化。RuntimeTypeInfoSet typeSet = getTypeInfoSet();getClassInfo.发现HLRequest属性的第二个是Object。这时候就清楚了。泛型的类型未指定。但是代码已经指定泛型。仍未解析。https://blog.csdn.net/github_39

2021-09-09 09:59:15 712

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除