- 博客(33)
- 资源 (2)
- 收藏
- 关注
原创 解决LibreOffice导出的docx文件格式异常的问题
起初转出的Docx文件,只能用Word兼容模式打开,研究其原因发现,Docx本质上是个压缩包文件,用7zip将导出的Docx解压缩之后,只有一个mht格式的文件。找到问题症结之后,就针对LibreOffice的导出命令行进行修改,增加输出文件描述:Office Open XML Text。最近在工作中,需要开发自定义模板的功能,需要用到将Html转为Docx的格式,并同步到文件服务器。而正常打开的Docx文件,解压缩之后,是多个XML文件。
2024-11-03 16:22:34
383
原创 修复因Ubuntu升级导致无法联网的问题
换了另外一台电脑,ping www.baidu.com,拿到ip地址,用ubuntu系统ping这个ip地址,能ping通,断定是域名解析的问题。继续排查发现/etc/resolv.conf这个软链接对应的文件/etc/systemd/resolved.conf缺失!本人Ubuntu原系统版本是22.04,今天升级24.04后发现无法联网。ping了网关,发现能ping通。
2024-10-29 00:39:24
584
原创 记一次本地环境启动不了Mysql的故障
后来发现居然是Hyper-V会随机保留几个区间的端口号。我win11升了新版本之后,rabbitMq启动不了,当时为了赶时间,就开了Hyper-V,把rabbitMq装进了docker里面。显示端口被占用,但是用netstat -aon|findstr “3306”,没有发现占用端口的进程。今天想跑一下自己的开源项目,结果启动本地环境Mysql的时候报错。
2023-12-24 18:21:08
674
原创 同步、异步、阻塞与非阻塞
也就是说,同步/异步是“下载完成消息”通知的方式(机制),而阻塞/非阻塞则是在等待“下载完成消息”通知过程中的状态(能不能干其他任务)以小明下载文件打个比方,从这两个关注点来再次说明这两组概念,希望能够更好的促进大家的理解。,在不同的场景下,同步/异步、阻塞/非阻塞的四种组合都有应用。,所以在异步机制中,
2023-08-31 00:32:06
106
原创 探讨Tomcat架构特点及复杂系统设计思路
同样,在父组件的 start() 方法里也需要调用子组件的 start() 方法,这就是组合模式的使用,并且只要调用最顶层组件,也就是 Server 组件的 init() 和 start() 方法,整个 Tomcat 就被启动起来了。系统扩展:各个组件 init() 和 start() 方法的具体实现是复杂多变的,我们可以自己通过添加监听器来监听父节点的变化,监听器实现自己的逻辑,这是典型的观察者模式,具体来说就是在 LifeCycle 接口里加入两个方法:添加监听器和删除监听器。
2023-08-26 22:00:15
112
原创 Web容器的前世今生,浅谈Springboot为什么要用嵌入式服务器
在微服务架构下,服务的数量必然要增加,但为了减少资源的消耗,并且降低部署的成本,我们希望运行服务的 Web 容器也是轻量级的,Web 容器本身应该消耗较少的内存和 CPU 资源,并且由应用本身来启动一个嵌入式的 Web 容器,而不是通过 Web 容器来部署和启动应用,这样可以降低应用部署的复杂度。为了方便使用,它们也具有 HTTP 服务器的功能,因此Tomcat 或者 Jetty 就是一个“HTTP 服务器 + Servlet 容器”,我们也叫它们Web 容器。
2023-08-13 18:45:07
161
原创 如何理解微服务和云原生
微服务就是一些协同工作的小而自治的服务微服务的优点:云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展出的应用云原生应用要求:
2023-01-25 19:50:46
169
原创 Maven的依赖管理
作为一名Java开发工程师,maven再熟悉不过了,但是往往这种基础的东西,很多人却对它没有一个相对清晰的认识。这个问题从以下几个方面作为切入点。
2023-01-22 00:53:43
240
原创 浅谈单例模式、Spring单例Bean和单例池的区别
单例模式单例模式是指在一个jvm进程(运行的Java程序)中仅有一个实例。Spring单例BeanSpring单例是指一个Spring Bean容器(ApplicationContext)中仅有一个实例。同时同一个容器中类型相同但是名称不同也会是不同实例。单例池底层是CurrentHashMap,是实现SpringBean单例的手段。...
2021-08-17 16:35:45
849
原创 最最完整的redis工具类(redis工具类,用这个就够了)
@Service(value = "redisCacheUtil")public class RedisCacheUtil { @Autowired private RedisTemplate<String, Object> redisTemplate; /** * 添加有序集合 * @param key * @param score * @param val * @param time */ pu
2020-11-10 09:24:45
1212
2
原创 Android Studio 报SDKRelativeJNI错误
被公司临时抽调,负责安卓app的开发…这个错误的原因是该程序必须要用安卓真机来运行,不能使用虚拟机!
2020-09-20 22:23:37
141
原创 自己对redisTemplet进行封装
代码如下,懂的不需多言!import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.stereotype.Service;import org.springframework.util.CollectionUtils;import java.util.List;im
2020-08-19 23:53:39
200
原创 浅谈:缓存雪崩,缓存穿透,缓存击穿
缓存可能出现的问题1.缓存雪崩在同一时间内,缓存集体过期.解决方式:放入缓存的时间随便2.缓存穿透查询条件在数据库中找不到,在缓存中也找不到,会一直访问数据库解决方式:1.把结果为空的值也放入到缓存中,设置过期时间短一点,多次用该条件进行查询,应该列为黑名单2.用布隆算法,把所有查询条件穷举(穷举把各种可能的情况都走一遍,使用if条件筛选出满足条件的情况)出来,放在hash表中.每次查询先在hash表中查询,如果没有就拒绝3.缓存击穿缓存过期,全部转向数据库,用互斥锁来阻止线程直接访问数
2020-08-19 23:35:11
134
1
原创 浅谈JAVA的事件委托机制和垃圾回收机制
java 事件委托机制的概念,一个源产生一个事件并将它送到一个或多个监听器 那里。在这种方案中,监听器简单的等待,直到它收到一个事件。一旦事件被 接受,监听器将处理这个事件,然后返回。垃圾回收机制 垃圾收集是将分配给对象但不再使用的内存回收或释放的过程。 如果一个对象没有指向它的引用或者其赋值为 null,则次对象适合进行垃圾回 收...
2020-08-09 11:51:04
224
原创 静态static和构造函数的区别(基础知识的查漏补缺)
静态static和构造函数的区别(基础知识的查漏补缺)1.什么是构造函数一般用来初始化成员属性和成员方法的,即new对象产生后,就调用了对象了属性和方法2.什么是静态static在某些时候,我们希望该类所有的对象共享同一个成员, Java 中被 static 修饰的成员称为静态成员或类成员。它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享。3.Java中static和构造函数的执行顺序父类静态块 -> 子类静态块 -> 父类构造块 -> 父类构造函数 -> 子
2020-08-09 10:57:25
576
原创 explain sql语句中的type
explain sql语句中的type1.all 全表扫描2.index 按照索引的全表扫描3.range 有范围的索引扫描4.ref 该索引的列的值不唯一5.ref_eq 该索引的列的值唯一,使用主键或者唯一性索引来查找
2020-05-28 15:39:23
656
原创 优化where字句
优化where字句1改变where条件的顺序并没有提高查询的效率2.like语句优化不要在关键字前面加%,这样无法使用索引(type=ALL),会导致全表扫描3.使用union all 来替代or条件使用or关键字无法使用索引,会导致全表扫描4.不要是用不等于符号(!=或<>)5.不要使用in或not in1.如果in的条件是连续的,用between … and来替代in2.用exists替代in,用not exists替代not in (not in是最低效的)3.用lef
2020-05-28 15:38:31
323
原创 用idea启动tomcat的项目成功,但localhost:8080打不开的解决方法
用idea启动tomcat的项目成功,但localhost:8080打不开其实解决很简单,在Edit Configurations里面选择Deployment,把tomcat的ROOT文件夹加进去,然后把路径设置为/根目录
2020-05-11 15:23:58
4156
3
原创 配置idea导出war包
配置idea导出war包首先打开File选项下的Project Structure1.注意Java版本2.Deployment Descriptors部署描述器 地址为.xml的地址,下面一个框为项目的根目录3.Libraries这一项添加WEB-INF下的lib文件夹(lib文件夹为自己创建,classes也是自己创建的)4.Facets添加选择Web5.Artifacts这一...
2020-04-08 22:16:44
241
原创 浅谈JavaScript中this的指向
浅谈JavaScript中this的指向1.默认指向,this默认指向的是window对象console.log(this);//打印的是window2.函数调用时2.1独立调用,this指向window对象function test(){ console.log(this);//打印的是window}window.test();//简写test()2.2函数作为某个对...
2020-03-25 13:35:59
189
RedisCacheUtil.java
2020-08-19
redis.zip,Redis(Remote Dictionary Server ),即远程字典服务
2020-08-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人