- 博客(22)
- 资源 (2)
- 收藏
- 关注
原创 年底面试总结第一天
mysql 优化 一:数据库级别优化 表结构是否正确,判断是否有正确的数据类型 判断是否安装正确的索引 以提高查询效率 判断每个表是否使用了正确的存储引擎。innoDB是默认存储引擎 在 MySQL 中有两个存储引擎 MyISAM 和 InnoDB,每个引擎都有利有弊 MyISAM表索引在处理文本索引时更具优势,而INNODB表索引在其它类型上更具效率优势。 比如全文索引一般在CHA
2021-12-22 14:54:49 550
原创 Java 导出下载多个文件 压缩包
一:思路 根据自己的需求,先将所需文件。下载到一个临时文件夹下, 再将整个文件夹进行压缩下载最后进行临时文件的删除。二:开整@Api(tags="xxx")@RestController@RequestMapping("/xxx/xxx")@Slf4jpublic class xxxController { //这里我用了电脑根路径选作位临时文件位置 也可以放置在项目临时文件夹 //获取当前电脑根目录 private String gml = System.
2021-12-08 15:04:55 1438
原创 亿美软通 短信接口整合(JAVA)
亿美软通短信最近公司在用亿美软通短信,这个整体下来感觉不错。文档写的也很清晰,整合起来也不费事。下面来介绍一下整合步骤;
2021-09-07 16:14:40 1846 4
原创 Java 数据库 面试必备
目录关系型数据库MysqlORACLE非关系型数据库Redis关系型数据库Mysql1.Mysql的数据表类型有哪些? MyISAM ,innoDB,heap ,bob,csv 等 MyISAM : 成熟 ,稳重 ,易于管理 。 读写快 ,一些功能不支持事务 ,表级锁。 innoDB: 支持 事务,外键 等 行级锁 占用空间大,不支持全文索引 MyISAM 是非事务的存储引擎,适合用于频繁查询的应用。 表锁,不会出现死锁,适合小数据,小并发。innoDB是支持事务的存储引擎,合于插入和更新操
2021-04-14 17:34:17 645
原创 RabbitMQ 通俗易懂 简单开发(一)
目录一.AMQP 协议二.RabbitMq 核心组成部分三.RabbitMq运行流程一.AMQP 协议(rabbitmq 遵循AMQP协议)一. AMQP全称: Advanced Message Queuing Protocol(高级消息队列协议)。是应用层协议的一个开发标准,为面向消息的中间件设计。二. AMQP生产者流转过程三.AMQP消费者流转协议二.RabbitMq 核心组成部分面试:mq消息 可以存在没有交换机的队列里吗? &nb
2021-04-09 14:47:35 683
原创 2021备战面试必备基础篇(一)
文章目录1.JDK与JRE的区别?2.==与equals的区别?3.final在java中的作用?4.java 中的 Math.round(-1.5) 等于多少?5.String 属于基础的数据类型吗?6.java 中操作字符串都有哪些类?它们之间有什么区别?7.String str="i"与 String str=new String(“i”)一样吗?8.如何将字符串反转?9.两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?10、String 类的常用方法都有那些?11
2021-01-14 14:28:00 123 1
原创 Stream和Lambda表达式最佳实践(二)
3. Lambda表达式最佳实践Lambda表达式java 8引入的函数式编程框架。之前的文章中我们也讲过Lambda表达式的基本用法。本文将会在之前的文章基础上更加详细的讲解Lambda表达式在实际应用中的最佳实践经验。3.1 优先使用标准Functional接口之前的文章我们讲到了,java在java.util.function包中定义了很多Function接口。基本上涵盖了我们能够想到的各种类型。假如我们自定义了下面的Functional interface:@FunctionalInte
2020-11-13 09:53:35 151
原创 Stream和Lambda表达式最佳实践(一)
1. Streams简介今天要讲的Stream指的是java.util.stream包中的诸多类。Stream可以方便的将之前的结合类以转换为Stream并以流式方式进行处理,大大的简化了我们的编程,Stream包中,最核心的就是interface Stream从上面的图中我们可以看到Stream继承自BaseStream。Stream中定义了很多非常实用的方法,比如filter,map,flatmap,forEach,reduce,collect等等。接下来我们将会逐一讲解。1.1 创建Stream
2020-11-10 17:16:12 383
原创 layui 下拉框 多选 及回显
<div class="layui-form-item layui-col-md4"> <label class="layui-form-label"><span class="layui-form-required">*</span>主营类目</label> <div class="layui-input-block"> ...
2020-07-21 15:45:31 1959
转载 Idea 快捷键列表
IntelliJ IDEA 设置代码提示或自动补全的快捷键 (附IntelliJ IDEA常用快捷键)修改方法如下:点击 文件菜单(File) –> 点击 设置(Settings… Ctrl+Alt+S), –> 打开设置对话框。在左侧的导航框中点击 KeyMap。接着在右边的树型框中选择 Main menu –> Code –> Completion.接着需要做两件事:移除原来的Cycle Expand Word 的 Alt+/ 快捷键绑定。在 Basic 上点击右
2020-06-12 16:21:32 209
原创 Activiti 7 新特性 以及整合开发(三)
Activiti 实现流程部署的步骤及实现1.创建Acitiviti的部署类 2.定义流程部署import org.activiti.engine.ProcessEngine;import org.activiti.engine.ProcessEngines;import org.activiti.engine.RepositoryService;import org.activiti.engine.repository.Deployment;/** * 流程定义的部署 *
2020-06-12 15:41:06 868
原创 Activiti7 新特性 以及 整合开发 (二)
关于Activiti数据库表的命名规则ACT_RE_*: 'RE’表示repository。这个前缀的表包含了流程定义和流程 静态资源(图片、规则等等)ACT_RU_*:'RU’表示runtime。这些运行时的表,包含流程实例,认为,变量,异步任务等运行中的数据。Activiti只在流程实例执行过程中保持这些数据,在流程结束时就会删除这些记录。这样运行时表可以一直很小速度很快。ACT_HI_*:'HI’表示history。这些表包含历史数据,比如历史流程实例,遍历,任务等等。ACT_GE_*:'GE
2020-06-11 17:32:44 572
原创 Activiti7 新特性 以及 整合开发 (一)
工作流:一个工作的流程,事物发展的一个业务流程。在计算机的帮助下,能够实现自动化控制工作流引擎:为了实现自动化控制,Activiti引擎 出现作用:实现流程自动化控制 ,以不变 应万变。为什么Activiti 在解决业务需求变更时,源代码不需要更新,更新的时业务流程图? 原理?例子:1.先将流程图画好2.将流程图 中每一个节点的数据读取并放入表中3.读取表中的第一条记录,处理并删除4直到结束实现自动化:1.业务流程 要规范,要遵守一套规则2这个业务流程图 本质上是一个xml文
2020-06-11 15:02:51 2117
原创 Springboot 项目 整合 邮件 发送模块
首先 ,了解一下 电子邮件协议电子邮件协议电子邮件在网络中传输和网页一样需要遵从特定的协议,常用的电子邮件协议包括 SMTP,POP3,IMAP。其中邮件的创建和发送只需要用到 SMTP协议,所以本文也只会涉及到SMTP协议。SMTP 是 Simple Mail Transfer Protocol 的简称,即简单邮件传输协议。然后 开始 sprigboot 整合 邮件 发送模块pom.xml中 引入相关 组件 <dependency> <groupId>or
2020-06-08 17:05:15 477
原创 设计模式- java程序员 几个必备的基础模式
设计模式单例模式建造者模式简单工厂模式工厂方法模式抽象工厂模式适配器模式(可了解 )策略模式(可了解 )单例模式public class SingletonDemo { public static void main(String[] args) { // }}class User1{//饿汉式 User1(){ } private static User1 zs = new User1(); pr
2020-06-05 09:51:48 173
原创 HashMap致命21问
1:HashMap 的数据结构?A:哈希表结构(链表散列:数组+链表)实现,结合数组和链表的优点。当链表长度超过 8 时,链表转换为红黑树。transient Node<K,V>\[\] table;2:HashMap 的工作原理?HashMap 底层是 hash 数组和单向链表实现,数组中的每个元素都是链表,由 Node 内部类(实现 Map.Entry接口)实现,HashMap 通过 put & get 方法存储和获取。存储对象时,将 K/V 键值传给 put() 方法:
2020-06-02 16:58:53 147
原创 缓存无处不在 , 你了解多少??
缓存种类浏览器缓存静态页面缓存App缓存应用级缓存CPU缓存CDN缓存DNSWeb代理缓存后端数据存储数据库缓存浏览器缓存浏览器缓存。这个前端接触比较多一些。浏览器都是基于http协议传输数据的。有5类状态码,其中有一个304状态码。Last-Modified 、Etag。减少网络传输数据,省带宽。静态页面缓存静态页面缓存。静态缓存在 Web 1.0 时期是非常出名,它一般通过生成 Velocity 模板或者静态 HTML 文件,放置在nginx或squid等web服务器,这
2020-05-25 14:20:48 226
原创 java 8 Stream的 几种 常用方法
一.forEach 遍历 //Stream 流 判断 进行 遍历 List<String> list = new ArrayList<>(); list.add("张三"); list.add("张三丰"); list.add("李四"); list.add("李二蛋");...
2020-04-23 15:27:43 602
原创 java 8 创建 Stream 的两种方式
一. 所有 Collection 集合 都可以通过Stream 默认的方式 进行获取 流eg: //把集合 转换为 stream 流 List<String> list1= new ArrayList<>(); Stream<String> stream=list1.stream(); //set Set<...
2020-04-17 17:20:08 220
原创 Oracle sql 查询数据处理空值排序问题
oracle认为 null 最大。升序排列,默认情况下,null值排后面。降序排序,默认情况下,null值排前面。有几种办法改变这种情况:(1)用 nvl 函数或decode 函数 将null转换为一特定值select t.* ,nvl(bbb,999) suin from(select bbb from myora)t order by t.bbb desc(2)使用null...
2019-12-02 14:22:35 274
原创 oracle-sql 给字段 默认值 -nvl函数
oracle- sql nvl函数当你在用oracle 写sql时,需要 返回 默认值时;nvl函数的使用
2019-10-31 10:43:42 2300
boot-security.zip
2020-06-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人