Tonny's Blog

莫等闲, 白了少年头, 空悲切


  • 首页

  • 标签

  • 分类

  • 归档

常用的 JVM 启动参数

发表于 2019-09-26 | 更新于 2021-02-25 | 分类于 java
-server -Xms, -Xms
阅读全文 »

spring ioc 体系结构

发表于 2019-09-02 | 更新于 2021-02-25 | 分类于 spring , source code , java
1. Resouce 体系org.springframework.core.io.Resource是对资源的抽象, 不同实现类代表了对不同资源的访问策略. 2. ResourceLoader 体系org.springframework.core.io.ResourceLoader统一处理资源加载过程. 3. BeanFactory 体系org.springframework.beans.factory.BeanFactory是底层的 IOC 容器, 负责管理BeanDefinition以及 Bean 实例, 默认使用的最终实现类是org.springframework.beans.factory.support.DefaultListableBeanFactory. 4. BeanDefinition 体系org.springframework.beans.factory.config.BeanDefinition是对 Bean 的抽象 5. BeanDefinitionReader 体系org.springframework.beans.factory.xml.XmlBeanD ...
阅读全文 »

code-snippet

发表于 2019-04-11 | 更新于 2021-06-15
spring mvc 文件上传下载加入依赖jar 12345678910<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.4</version></dependency><dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.6</version></dependency> 增加 spring 配置1234<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsM ...
阅读全文 »

java8-optional

发表于 2019-03-29 | 更新于 2021-02-25 | 分类于 jdk , source
问题在调用一个方法后需要链式的获取某个字段, 比如: 123// 调用接口, 获取用户名ResponseDTO dto = xxxServcice.foo();String username = dto.getUser().getUserName(); 但是上面的方法可能会抛出空指针异常, 因此, 为了程序的健壮性, 我们一般在每一步的get前都需要进行非空判断: 12345678// 调用接口, 获取用户名ResponseDTO dto = xxxServcice.foo();if (dto != null) { User user = dto.getUser(); if (user != null){ String username = user.getUserName(); }} 如果字段获取链路过深, 那么这些非空判断非常多, 很烦. 下面介绍下 如何使用 jdk8 中的Optional类解决这个问题. OptionalAPI首先看一下Optional都有哪些方法 构造类方法有三个静态 empty(), o ...
阅读全文 »

spring-resource

发表于 2019-02-26 | 更新于 2021-02-25
阅读全文 »

spring-refresh方法分析

发表于 2019-02-22 | 更新于 2021-10-25
spring源码版本: 4.3.1-RELEASE AbstractApplicationContext#refresh1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465public void refresh() throws BeansException, IllegalStateException { synchronized (this.startupShutdownMonitor) { // 设置启动时间和启动标识active为true // 如果是web应用, 则会替换servletContextInitParams和servletConfigInitParams配置 prepareRefresh(); // 创建DefaultListableBeanFactory, 加载BeanDefinition ...
阅读全文 »

在hexo中画图-ECharts

发表于 2019-02-21 | 更新于 2021-02-25 | 分类于 hexo
Echarts文档 Echarts百度开源的一款前端绘图库, ECharts 提供了常规的折线图、柱状图、散点图、饼图、K线图,用于统计的盒形图,用于地理数据可视化的地图、热力图、线图,用于关系数据可视化的关系图、treemap、旭日图,多维数据可视化的平行坐标,还有用于 BI 的漏斗图,仪表盘,并且支持图与图之间的混搭。 安装在博客目录下执行如下命令:1npm install hexo-tag-echarts --save 该插件依赖的ECharts版本为https://cdn.bootcss.com/echarts/3.8.0/echarts.common.min.js, 比较老了, 有些新的特性不支持, 需要手动修改ECharts版本, 修改博客目录下的node_modules/hexo-tag-echarts3/template.html文件, 将其中的ECharts引用url改为https://cdn.bootcss.com/echarts/4.1.0-release/echarts.min.js 折线图简单的123456789101112131415{% echa ...
阅读全文 »

在hexo中画图-PlantUml

发表于 2019-02-21 | 更新于 2021-02-25 | 分类于 hexo
PlantUml文档 PlantUmlPlantUML 是一个画图脚本语言,用它可以快速地画出:时序图, 流程图, 用例图, 状态图, 组件图. 安装在博客目录下执行如下目录, 安装PlantUml插件1npm install hexo-tag-plantuml --save 使用类图包你可以通过关键词 package 声明包,同时可选的来声明对应的背景色(通过使用html色彩代码或名称), 包也可嵌套1234567891011121314{% plantuml %}package "Classic Collections" #DDDDDD { Object <|-- ArrayList}package net.sourceforge.plantuml { Object <|-- Demo1 Demo1 *- Demo2 package net.sourceforge.plantuml.demo { Demo2 <-- Demo3 }}{ ...
阅读全文 »

shell

发表于 2019-01-10 | 更新于 2021-12-08 | 分类于 linux , shell
基本语法echo 命令脚本中会大量用到echo命令输出执行日志 12345678# 单行$ echo hello worldhello world# 多行$ echo "helloworld" 常用参数-n默认情况下,echo输出的文本末尾会有一个回车符。-n参数可以取消末尾的回车符,使得下一个提示符紧跟在输出内容的后面。 123456789$ echo -n hello worldhello world$$ echo a;echo bab$ echo -n a;echo bab -n参数可以让两个echo命令的输出连在一起,出现在同一行。 -e-e参数会解释引号(双引号和单引号)里面的特殊字符(比如换行符\n)。如果不使用-e参数,即默认情况下,引号会让特殊字符变成普通字符,echo不解释它们,原样输出。 12345678910$ echo "Hello\nWorld"Hello\nWorld$ echo -e "Hello\nWorld"HelloWorld$ echo -e 'Hello\nWorld'HelloWorld 变量声明变量变量声明方式: 变量名=变量值, =左右不要 ...
阅读全文 »

jdk8时间日期

发表于 2018-12-24 | 更新于 2021-07-05 | 分类于 JDK , Date
JDK8之前的日期api有很多不便的地方, 如: java.util.Date 和 java.util.Calendar类易用性差, 不支持时区, 而且他们都不是线程安全的 用于格式化日期的类DateFormat被放在java.text包中, 它是一个抽象类, 在处理日期格式化时我们会实例化一个SimpleDateFormat对象, 但DateFormat也是非线程安全 对日期的计算方式繁琐, 而且容易出错, 因为月份是从0开始的, 从Calendar中获取的月份需要加一才能表示当前月份 由于以上这些问题, 出现了一些三方的日期处理框架, 例如Joda-Time, date4j等开源项目. 其中Joda-Time框架的作者正是JSR-310的规范的倡导者, 而Java 8中引入了新的日期API是JSR-310规范的实现, 所以能从Java 8的日期API中看到很多Joda-Time的特性.java.time包下有5个包组成, 大部分情况下只用基础包和format就够了 java.time: 包含值对象的基础包 java.time.chrono: 提供对不同的日历系统的访问 ja ...
阅读全文 »
12345
Tonny Yi

Tonny Yi

Coding, Life, Zen

49 日志
42 分类
59 标签
GitHub E-Mail
Creative Commons
© 2021 Tonny Yi
由 Hexo 强力驱动
|
主题 — NexT.Mist