随笔分类 -  java

摘要:pom.xml <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml-schemas</artifactId> <version>3.17</version> </dependency> <dependency> < 阅读全文
posted @ 2021-03-20 12:15 _Meditation 阅读(91) 评论(0) 推荐(0) 编辑
摘要:<?xml version="1.0" encoding="UTF-8"?> <configuration debug="true"> <contextName>logback</contextName> <property name="log.path" value="/log/wise.log" 阅读全文
posted @ 2021-03-18 11:19 _Meditation 阅读(309) 评论(0) 推荐(0) 编辑
摘要:1. 首先采用上个博客的打包方式,将A打包成Jar 之后参考: https://www.cnblogs.com/sueyyyy/p/10571473.html 即: 方法一(pom文件指定jar包目录进行引入) 1.将需要手动引入的包放在项目目录下,如lib目录下; 修改pom文件,引入依赖并且将s 阅读全文
posted @ 2020-11-25 17:11 _Meditation 阅读(2578) 评论(0) 推荐(0) 编辑
摘要:private static byte[] readBytesFromFileInputStream(FileInputStream fis) throws IOException { FileChannel channel = fis.getChannel(); int fileSize = (i 阅读全文
posted @ 2020-08-09 13:17 _Meditation 阅读(291) 评论(0) 推荐(0) 编辑
摘要:<plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <!--这部分可有可无,加上的话则直接生成可运行jar包--> <!--<archive>--> <!--<manifest>--> <!--<mainCl 阅读全文
posted @ 2020-08-05 16:05 _Meditation 阅读(236) 评论(0) 推荐(0) 编辑
摘要:本次调研3种工具pinyin4j;jpinyin;hanlp。经过从 运行时间;词典维护代价;源代码社区活跃程度及更新速度 几方面考虑,推荐使用hanlp进行汉语转拼音。 1. Pinyin4j 虽然此jar包描述信息包括可以对多音字进行识别,但是其处理逻辑是对多音字取第一个拼音。例如”长”的拼音数 阅读全文
posted @ 2020-04-01 12:33 _Meditation 阅读(1984) 评论(0) 推荐(0) 编辑
摘要:1、DevOps有哪些优势? 如今,公司不再一次性发布大量功能,而是试图通过一系列发布列车将小功能传输给客户。这具有许多优点,例如来自客户的快速反馈,更好的软件质量等,这反过来导致高的客户满意度。 为实现这一目标,公司必须: 增加部署频率 降低新版本的故障率 修复之间缩短了提前期 新版本崩溃时平均恢 阅读全文
posted @ 2020-03-29 19:10 _Meditation 编辑
摘要:/** * 给定一个zip的url,实现zip的下载.下载到目的文件夹 * id为用户给定的id,方便维护 * <p> * 返回zip文件的最终文件路径 */ public static String downloadZIP(String[] UrlAndZipName, String fileDi 阅读全文
posted @ 2020-03-24 18:48 _Meditation 阅读(1230) 评论(0) 推荐(0) 编辑
摘要:Mysql 的存储引擎,myisam和innodb的区别。 答: 1.MyISAM 是非事务的存储引擎,适合用于频繁查询的应用。表锁,不会出现死锁,适合小数据,小并发。 2.innodb是支持事务的存储引擎,合于插入和更新操作比较多的应用,设计合理的话是行锁(最大区别就在锁的级别上),适合大数据,大 阅读全文
posted @ 2020-03-21 17:29 _Meditation 编辑
摘要:日志算是java工具体系的一个知识点,但又是写代码的时候绕不过去的一个知识点,这篇文章主要是针对于小白,以故事的形式来对目前市场上常见的一些日志框架进行一个介绍和梳理。 阶段一: 从前有一个程序员,名字叫张三,张三呢,每天矜矜业业,业务能力代码能力都很强。老板就让他负责一个比较复杂的系统。于是张三呢 阅读全文
posted @ 2020-03-21 13:46 _Meditation 编辑
摘要:一、线程基础 1、什么是线程?什么是进程?他们之间有什么区别?线程的好处和坏处?(坏处从单核CPU上下文切换带来系统损耗来解答) 2、Java中实现线程有那几种方式?区别是什么?(三种或者四种,根据继承和接口特点区别) 3、Thread类中的start和run方法的区别?(start方法内部含有na 阅读全文
posted @ 2020-03-21 13:40 _Meditation 编辑
摘要:本page主要总结redis作为软件系统的缓存可能带来的问题及应对方法总结。 1. 缓存穿透 缓存穿透: 指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,造成缓存穿透。 缓存穿透几种解决办法: 缓存空值,在从 阅读全文
posted @ 2020-03-01 12:48 _Meditation 阅读(481) 评论(0) 推荐(0) 编辑
摘要:在数据库中不会报错,但用java调用时确保错。 SQL语句: 1 SELECT pageId,`name`,text FROM Page WHERE `name` LIKE CONCAT('%',?,'%') 阅读全文
posted @ 2019-11-18 11:18 _Meditation 阅读(1166) 评论(0) 推荐(1) 编辑
摘要:1.首先在 application,yaml中添加 logging: config: classpath:logback-spring.xml 2.之后在resources中添加 logback-spring.xml。因为最后被java编译后的路径是 上述配置的。见图: 之后日志便会每天进行压缩。如 阅读全文
posted @ 2019-10-31 20:33 _Meditation 阅读(383) 评论(0) 推荐(0) 编辑
摘要:1. 为什么要并发 a) 并发是一种解耦策略。他帮助我们吧做什么(目的)和何时做(时机)分解开。 b) 在web应用的servlet模式下,当有web请求时,servlet就会异步执行。2. 挑战 a) 当两个线程相互影响时就会出现不可预期的情况。这是因为线程在执行那行java代码时有许多可能路径可 阅读全文
posted @ 2019-09-26 16:38 _Meditation 阅读(247) 评论(0) 推荐(0) 编辑
摘要:1. 简单设计原则: a) 运行所有测试 b) 不可重复 c) 表达了程序员的意图 d) 尽可能减少类和方法的数量2. 运行所有的测试3. 简单设计原则2-4: a) 提升内聚性,降低耦合性,切分关注面,模块化系统性能关注面,缩小函数和类的尺寸,选用更好的名称。。。。4. 不可重复 a) 做一点点共 阅读全文
posted @ 2019-09-26 16:32 _Meditation 阅读(215) 评论(0) 推荐(0) 编辑
摘要:第11章 1. 将系统的构造和使用分开 软件系统应将启动过程和和运行时的逻辑分开,在启动过程中构建应用对象,也会存在互相缠结的依赖关系。 a. 分解main b. 工厂 c. 依赖注入 有一种强大的机制可以实现分离构造与使用,那就是依赖注入,控制反转在依赖管理中的一种应用手段。控制反转将第二全责从对 阅读全文
posted @ 2019-09-26 16:31 _Meditation 阅读(243) 评论(0) 推荐(0) 编辑
摘要:第十章 类 1. 类的组织 如果有公共静态常量,应该先给出,然后是私有静态变量,以及私有实体变量。很少会有公共变量 公共函数应跟在变量列表之后,我们喜欢吧由某个公共函数调用的私有工具函数紧紧随在该公共函数后面。符合自顶向下原则。 2. 类应该短小 类的名称应该描述其全责。命名是帮助判断类的长度的第一 阅读全文
posted @ 2019-09-26 16:28 _Meditation 阅读(150) 评论(0) 推荐(0) 编辑
摘要:第九章 单元测试 1. TDD三定律 在编写不能通过的单元测试前,不可编写生产代码 只可编写刚好无法通过的单元测试,不能编译也不算通过 只可编写刚好可以足以通过当前失败测试的生产代码 2. 保持测试整洁 测试代码和生产代码一样重要,他需要被思考,被设计和被照料。 3. 整洁的测试 4. 每个测试一个 阅读全文
posted @ 2019-09-26 16:27 _Meditation 阅读(229) 评论(0) 推荐(0) 编辑
摘要:第八章 边界 1. 在接口提供者和使用者之间,存在与生俱来的张力。这种张力很可能导致问题 2.浏览和学习边界 4.测试第三方的好处不只是免费 无论是否需要测试来学习,总要有一系列与生产代码中调用方式一致的输出测试来支持整洁的边界。不使用这些边界测试来减轻迁移的劳力,我们可能会超出应有实限,长久的绑定 阅读全文
posted @ 2019-09-26 16:26 _Meditation 阅读(182) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示