- 博客(86)
- 收藏
- 关注
原创 查询每个用户最后一次登录信息
文章目录表结构和数据:方法一:如果只需要用户id和最后一次登陆时间方法二:如果需要携带其他日志信息方法三:oracle数据库 使用row_num() over表结构和数据:CREATE TABLE `temp_test` ( `id` bigint(20) DEFAULT NULL, `user_id` bigint(20) DEFAULT NULL, `login_time` datetime DEFAULT NULL, `msg` varchar(255) DEFAULT NULL
2021-12-16 15:57:29 3964
原创 Optional 处理空指针
实际开发中经常会遇到判空需求的处理,通常我们可以采用if判断的形式:ArrayList<String> nullAbleList = demoService.getList();if(CollectionUtils.isEmpty(nullAbleList )){ //new 一个ArrayList,避免下面业务逻辑空指针异常 nullAbleList = new ArrayList(); //或者直接抛出异常提示 throw new RuntimeExcepton();}可以
2021-12-08 10:37:28 592 1
原创 java 读取jar包中的文件
文章目录项目resource中文件路径和jar包中文件路径的区别正常读取jar包读取完整代码:项目resource中文件路径和jar包中文件路径的区别打成jar包后,是一个整体的文件。正常读取 InputStream inputStream = new FileInputStream("src/main/resources/invoiceTemplate.xlsx");jar包读取 InputStream inputStream = this.getClass().getResourceAs
2021-11-26 17:42:49 646
原创 Easyexcel异常处理:getOutputStream() has already been called for this response
文章目录异常日志源码位置异常原因异常前代码调整后代码异常日志java.lang.IllegalStateException: getOutputStream() has already been called for this response at org.apache.catalina.connector.Response.getWriter(Response.java:582) ~[tomcat-embed-core-9.0.17.jar!/:9.0.17] at org.apache.cat
2021-11-26 14:36:26 4449
原创 EasyExcel 设置单元格格式为 文本
1.通过WriteCellStyle 的dataFormat属性和BuiltinFormats指定字体格式这种单元格有内容时字体才会生效,无内容时还是"常规"格式 private static WriteHandler templateWriteHandler; static { //表头样式 WriteCellStyle headWriteCellStyle = new WriteCellStyle(); //字体
2021-11-23 15:54:19 6389 6
原创 excel附件下载 Response 参数设置 (自定义文件并并解决中文乱码)
String oriFileName = "我是文件名"; response.setContentType("application/vnd.ms-excel"); response.setCharacterEncoding("utf-8"); String fileName = URLEncoder.encode(oriFileName , "UTF-8").replaceAll("\\+", "%20"); response.setHeader("Content-disposition", ".
2021-11-17 14:53:39 2652
原创 RPC 中 参数传递 ImputStream 流会关闭
文章目录非RPC,本地方法调用时:RPC调用(涉及到注册中心,Feign等方式)时:RPC调用中,可将InputStream转为byte[] 进行参数传递InputStream 转 byte []实际工作中遇到很多需要对提交的附件处理的场景。那么就涉及到控制层和业务层之间的参数传递。非RPC,本地方法调用时:@PostMapping("/import") public void import(@RequestParam("file") MultipartFile file) throws IO
2021-11-16 15:56:18 955
原创 EasyExcel 实现模板导出、模板导入分析功能
文章目录0.POM依赖1.导出模板实现2.导入模板并分析实现3.git源码0.POM依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency
2021-11-12 15:11:48 2697
原创 线程池 总结
文章目录线程池优点线程池创建参数队列总类线程池执行流程线程池类型定长 FixedThreadPool轮询 ScheduledThreadPool缓存 CachedThreadPool单线程 SingleThreadPool线程池优点1.避免线程频繁创建、消亡消耗资源。2.提高响应效率。3.线程可管理性。4.线程可复用性。线程池创建参数参数含义corePoolSize最大核心线程数maximumPoolSize最大线程数keepAliveTime闲置回
2021-11-09 18:57:12 607
原创 IDEA 搭建 SpringBoot + Maven + Oracle + Hibernate 项目框架
1.Spring Initializer 创建空项目2.安装Oracle3.查询Oracle版本select * from product_component_version;4.安装Oracle驱动并引入pom5.添加yml配置文件server: port: 8989spring: datasource: driver-class-name: oracle.jdbc.OracleDriver url: jdbc:oracle:thin:@127.0.0.1:1521
2021-11-06 14:49:57 625
原创 系统架构设计师 - 单体架构、SOA架构、微服务架构
文章目录横向对比横向对比单体架构SOA架构微服务架构特点复杂性高、技术债务逐渐上升、部署速度越来越慢、扩展能力受限、阻碍技术创新组件大小单体,大按服务分割成大块的逻辑小块业务逻辑耦合紧耦合较松耦合松耦合公司架构单体小型、功能交叉的团队管理着重中央管理分散管理目标确保应用交互新功能快速拓展...
2021-10-29 18:29:25 1482
原创 系统架构设计师 - 项目管理 - 挣值管理
文章目录简称全称含义公式PV计划值 Plan Value计划工作量的预算成本AC实际成本 Actual Cost已完成工作量的实际花销EV挣值 Earned Value已完成工作量的预算成本CV成本偏差衡量成本,正数成本节约,负数成本超支EV-ACCPI成本偏差指数EV/ACSV进度偏差衡量进度,正数进度超前,负数进度滞后EV-PVSPI进度偏差指数EV/PVBAC完工预算完成项目的总预算价值
2021-09-26 10:17:53 197
原创 系统架构设计师 - 信息安全技术
文章目录1.安全服务(5个)认证服务1.安全服务(5个)认证服务5 类安全服务:认证服务、访问控制服务、数据机密性服务、数据完整性服务、抗抵赖服务。安全服务内容实现方式认证服务保证其他实体不能占用其他已认证实体的身份,提供实体声明其身份的保证1.已有信息(密码、口令、IC卡、令牌);2.不变特征(指纹、虹膜、人脸识别);3.可信第三方认证(CA,Kerberos);4.环境(主机地址)访问控制服务定义系统中哪些资源开放访问、系统中实体对不同资源的访问权限的授权1.
2021-09-16 16:33:17 280
原创 系统架构设计师 - 系统可靠性设计
文章目录1 可靠性分析2 可靠性设计原则3 可靠性设计方法3.1 容错设计3.2 检错设计3.3 降低复杂度设计1 可靠性分析2 可靠性设计原则1.软件可靠性是系统设计的一部分,必须在系统总体设计框架中使用,但不能与系统其他设计原则冲突;2.软件可靠性是在保证系统质量属性的前提下,以保障、提高系统可靠性为目标;3.软件可靠性设计需要设立可靠性目标,但目标不无限扩大,要排在系统功能、用户需求、开发经费之后。3 可靠性设计方法3.1 容错设计设计方法设计单元详细内容恢复块设
2021-09-15 11:38:53 1842
原创 系统架构设计师 - 软件架构设计 - 架构评估
软件质量属性记忆口诀 : 安全 操作 功能 修改 靠/用 可变 性安全性系统提供功能给合法用户的同时,拒绝 非法用户的访问请求 或 企图 的能力;互操作性系统与外部系统 (环境) 进行相互作用的难易程度;功能性系统提供用户所期望的 工作 的能力;可修改性系统以高性价比对系统 功能进行变更 的能力;可靠性在系统错误 或 网络错误 的影响下 或意外操作 / 错误操作 的情况下, 系统维持功能性的能力;可用性系统正常运行 的时间比例;可变性系统以高性价比 从一个体系结构 扩充 或变
2021-09-01 10:29:20 351
原创 系统架构设计师 - 软件架构设计 - 特定领域软件架构DSSA(Domain Speciffic Softwore Architecture)
特定领域软件架构某一特定应用领域内,为一组应用提供组织结构参考标准、高层次的软件架构横向特定领域: 例如持久层设计领域纵向特定领域: 例如供应链系统领域活动过程领域分析:根据领域知识 ,获取特定领域内 系统共有的领域需求; 定义领域边界 - 识别知识源 - 分析领域需求 - 生成领域模型领域设计:根据领域模型 构建特定领域软件架构;选择体系结构描述商业需求和质量属性领域实现:收集领域内系统的可复用构件或开发新的构件,利用领域模型和DSSA;主要成员及职责领域专家:提供领域内系统的需求规约和
2021-08-30 21:29:55 749
原创 系统架构设计师 - 软件架构设计 - 基于架构开发方法 ABSD (Architecture-Based Soft Design)
文章目录基于架构的开发方法体系结构需求体系结构设计体系结构文档化体系结构复审体系结构实现体系结构演化语义上的 "体系结构" = "架构"基于架构的开发方法自定向下,逐层细化.系统- 子系统 - 逻辑构件 - 实际构件 .采用视角和视图描述软件架构 ;用例描述功能需求 ;使用质量场景(刺激.环境.响应)描述质量属性;体系结构需求需求获取标识构件(生成类图 - 类分组归类 - 类打包成构件)需求复审(循环到1步)体系结构设计建立体系结构模型映射构件分析构件间相互作用生成体系结构设
2021-08-30 11:21:15 685
原创 系统架构设计师 - 软件架构设计 - 软件架构风格
文章目录软件架构风格描述数据流风格批处理风格管道过滤器风格调用返回风格主子程序风格面向对象(显式调用风格)`层次结构`风格独立构件风格调用返回风格(隐式调用)虚拟机风格基于规则风格解释器风格仓库风格数据库风格黑板系统浏览器风格两层CS架构三层CS架构三层BS架构`混合架构`其他风格C2风格软件架构风格描述软件架构风格是描述某一特定领域内系统组织方式的惯用模式,它包括一个词汇表和一组约束.词汇表包扩一些构件和连接件的类型.而约束描述了系统是如何将这些构件和连接件组合到一起的.软件架构风格反映了特定领域内的
2021-08-30 10:58:42 280
原创 Redis
文章目录redis数据类型redis数据同步redis持久化redis分布式存储(高可用)redis集群切片redis 雪崩、击穿、穿透redis数据类型String (字符串,整数和浮点数)List (队列,先入先出)Hash (具有String key和String value的map容器,可以将多个key-value存储到一个key中)Set (无序不可重复)Sort Set (有序不可重复)redis数据同步1.读取数据时:redis有有效缓存,取缓存。redis无缓存,取DB,并
2021-08-27 14:08:35 83 1
原创 系统架构设计师 - 第三方认证服务
文章目录1.基于非对称密钥体系的 KPI/CA2.基于对称密钥体系的 Kerberos1.基于非对称密钥体系的 KPI/CA加密相关(对称加密、非对称加密、信息摘要、数字签名、CA数字证书)2.基于对称密钥体系的 Kerberos在Kerberos体系中,KDC会给每个用户和服务分配一组用户名和密钥。用户向访问服务必须先从KDC获取具有时效性的门票【Service Ticket】。1.用户拿用户密钥加密【信息1】发送给【AS】;2.【AS】拿用户密钥解析出【信息1】,返回给用户【信息1】和拿用
2021-08-23 14:55:42 361
原创 系统架构设计师 - 主观题总结
文章目录2015软件架构评估系统建模嵌入式可靠性文件系统、关系型数据库、内存型数据库WEB应用持久层设计2015软件架构评估质量属性效用树:软件架构风险:敏感点:权衡点:系统建模状态图、活动图定义及区别:嵌入式可靠性文件系统、关系型数据库、内存型数据库设计难度、数据冗余程度、数据架构、应用扩展 方面对比文件系统和关系型数据库:支持数据类型、读写性能、存储容量、可靠性 方面对比关系型数据库和内存数据库:WEB应用持久层设计数据持久层定义及好处:Hibernate和ibatis比较
2021-08-19 14:54:42 179
原创 分布式应用,response导出error on submit request on future invoke、java.lang.OutOfMemoryError: Java heap space
背景HSF 分布式框架 ,EasyExcel 导出 , GET请求 , 传递 HttpServletRequest 和 HttpServletRespose ,从分布式应用 controller 到,分布式应用 service 时,异常解决改成 POST 导出 并上传文件服务器,返回uploadId详细日志com.taobao.hsf.exception.HSFException: error message : error on submit request on future invoke
2021-08-17 20:11:46 1279
原创 系统机构设计师 - 软件质量属性
架构设计风险 潜在的 隐藏的 架构决策导致的隐患敏感点 一个或多个构件的质量属性,输入方差小时,输出方差很大权衡点 影响多个质量属性,且这些质量属性都是敏感点的 质量属性。
2021-08-16 22:54:11 142
原创 系统架构设计师 - 构件
构件的获取方式开发新构件修改现有构件继承现有功能购买商业构件修改构件的开发策略分区 软件按问题情境进行空间分割 保证构件空间独立性分割 软件按执流程行为进行时间分割 保证构件时间独立性抽象 软件进行功能的抽取和分割构件的标准OMG公司 CORBA标准微软公司 COM/DCOM标准SUN公司 java企业bean EJB标准...
2021-08-16 22:07:18 221
原创 EasyExcel 导出
文章目录1.EasyExcel 写入1.1. 创建excel映射对象、一次写入response1.2. 不创建excel映射对象、多次写入File1.3. 单元格合并策略1.4. 列宽样式策略1.5. 转换器1.5.1. 转换器注入方式1.5.2. 转换器 注解1.6. RowWriteHandler 行处理器1.7. CellWriteHandler 单元格处理器1.8. 单元格、字体样式1.EasyExcel 写入1.1. 创建excel映射对象、一次写入responseexcel导出实体:@
2021-08-13 20:47:12 8370
原创 EasyExcel 导出时 Converter转换器 注入 ExcelContentProperty 为null
异常现象:Converter转换器 注入 ExcelContentProperty 为null直接原因:调用**.head()**方法,重写表头样式,就导致ExcelContentProperty 注入失败。源码原因:todo解决办法:todo
2021-08-10 11:30:30 1979 1
原创 计算机与网络
文章目录1.计算机组成2.操作系统3.数据库系统4.计算机网络1.计算机组成计算机组成:控制器、运算器、存储设备、输入设备、输出设备。控制器功能程序计数器(PC)下条要执行指令的地址指令寄存器(IR)即将执行的指令指令译码器(ID)对指令中操作码字段分析解释运算器功能算数运算单元(ALU)数据算数运算、逻辑运算累加寄存器(AC)暂存数据数据缓冲寄存器(DR)写内存时,暂存指令或数据指令 = 操作码(操作的性质功能)
2021-06-02 15:50:39 440 1
原创 软件设计师 -主观题总结
文章目录1.数据流图1.1.补充实体名称1.2.补充数据存储1.3. 补充数据流图,缺失数据流图、起点、终点1.4.选考2.数据库设计(ER图)2.1.补充中联系关联的对象及联系的类型(概念模式设计)2.2.补充逻辑结构设计2.3.选考3.UML图3.1. 用例图3.2.类图3.3.序列图4.算法思想4.1.动态规划4.2.贪心法4.3.递归4.4.回溯法4.5.时间复杂度5.设计模式5.1.创建型5.2.结构型5.3.行为型1.数据流图1.1.补充实体名称1.2.补充数据存储xxx信息表1.3
2021-05-20 20:24:50 423 1
原创 树形结构递归初始化(父节点,统计字段等)
核心思想:1.先将每个节点按层级进行分组成map,并记录最大层级;2.层级自下而上的递归,赋值父节点和统计金额类的字段;完整代码如下我的节点数据来自excel的导入(excel的导入导出可以看:Springboot 下 EasyExcel 的数据导入导出)节点数据按层级分组后的是 hierarchyMap ,是在 invoke() 方法中初始化的;核心思想的实现,只需要看 doAfterAllAnalysed()方法/** * 解析监听类 <br> * * @author l
2021-05-19 19:41:36 715
原创 统计一个字符在另一个字符串中出现的次数
文章目录1.一个字符在另一个字符串中出现的次数2.测试3.输出1.一个字符在另一个字符串中出现的次数 /** * showTime 懂得都懂 <br> * @param findStr: 要寻找的字符 * @param fromStr: 可能包含 findStr 的字符串 * @return java.lang.Integer 次数 * @see */ private static Integer countShowTime(
2021-05-19 19:32:50 603
原创 springboot pom 依赖
基础环境pom <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>2.1.4.RELEASE</version> </dependency>插件pom <!--slf4
2021-05-19 15:21:44 320
原创 Springboot 下 EasyExcel 的数据导入导出
文章目录1.环境准备1.1. pom1.2. 元数据1.3. 自定义日期转换器2. 数据导出3. 数据导入3.1. excel解析监听类3.2. excel导入1.环境准备1.1. pom <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>1.7.25</ver
2021-05-19 14:54:06 336 1
原创 软件设计师 - 超键、无损连接、函数依赖
闭包称在函数依赖集F下由α函数确定的所有属性的集合为F下α的闭包,记为α+ 。算法一:result:=α;while(result发生变化)do for each 函数依赖β→γ in F do begin if β∈result then result:=result∪γ; end超键1.最小的集合a ,使得a+ 为全部属性2.画图法;无损连接1.分成成两个子关系;R1 ∩ R2 -> R1 - R2 或 R1 ∩ R2 ->
2021-05-13 17:07:12 754
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人