<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Java on 领风沐雨</title><link>https://blog.zdltech.com/tags/java/</link><description>Recent content in Java on 领风沐雨</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Wed, 29 Jun 2022 08:48:34 +0000</lastBuildDate><atom:link href="https://blog.zdltech.com/tags/java/index.xml" rel="self" type="application/rss+xml"/><item><title>关于java中使用split方法末尾空值被丢弃的问题</title><link>https://blog.zdltech.com/posts/guan-yujava-zhong-shi-yongsplit-fang-fa-mo-wei-kon/</link><pubDate>Wed, 29 Jun 2022 08:48:34 +0000</pubDate><guid>https://blog.zdltech.com/posts/guan-yujava-zhong-shi-yongsplit-fang-fa-mo-wei-kon/</guid><description>&amp;gt; 在最近的一次项目中，使用split方法分割字符串后得到的数组与预期不符。 &amp;gt; 查找原因后发现，使用默认的split方法时，会默认丢弃字符串末尾的空值，而字符串中间的空值则&amp;gt;会作为数组中的一项数据，不会被丢弃。 &amp;gt; 查询相关资料得知java中的split方法有两个参数，第一个参数是被分割的字符串，...</description></item><item><title>按揭贷款的计算原理与java实现</title><link>https://blog.zdltech.com/posts/%E6%8C%89%E6%8F%AD%E8%B4%B7%E6%AC%BE%E7%9A%84%E8%AE%A1%E7%AE%97%E5%8E%9F%E7%90%86%E4%B8%8Ejava%E5%AE%9E%E7%8E%B0/</link><pubDate>Mon, 18 Jan 2021 06:08:03 +0000</pubDate><guid>https://blog.zdltech.com/posts/%E6%8C%89%E6%8F%AD%E8%B4%B7%E6%AC%BE%E7%9A%84%E8%AE%A1%E7%AE%97%E5%8E%9F%E7%90%86%E4%B8%8Ejava%E5%AE%9E%E7%8E%B0/</guid><description>&lt;h4 id="题目描述：.wp-block-heading">题目描述：&lt;/h4>
&lt;p>Mortgage Calculator – Calculate the monthly payments of a fixed term mortgage over given Nth terms at a given interest rate. Also figure out how long it will take the user to pay back the loan.&lt;/p>
&lt;h4 id="题目翻译：.wp-block-heading">题目翻译：&lt;/h4>
&lt;p>按揭贷款计算器——在给定利率下，计算固定期限按揭贷款在第N期的月还款。同时计算用户需要多长时间来偿还贷款。&lt;/p>
&lt;h4 id="按揭贷款的相关概念mortgage.wp-block-heading">按揭贷款的相关概念(Mortgage)&lt;/h4>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>什么是按揭贷款&lt;/strong>
抵押贷款是指提供私人资产作为债务担保进行借款，多发生于购买房地产时英航借出的抵押贷款。&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>抵押贷款的类型&lt;/strong>
抵押贷款的类型有多种，主要通过一下几个因素来定义抵押贷款的类型。&lt;/p>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>利率(interest)&lt;/strong> ：分为固定利率和浮动利率&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>期限(Term)&lt;/strong> ：按揭贷款通常拥有最大还款期限&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>还款数额与还款频率(Payment amount and frequency)&lt;/strong> ：规定两次还款之间的时间间隔以及在每个周期内需要还款的数目&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>预付款（PrePayment)&lt;/strong>:贷款方提前支付的预付款&lt;/p>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>还款方式&lt;/strong>
按揭贷款一般采用分期还款，在固定汇率的情况下，规定一个还款期限，然后每月按时还一定数额。
常见的两种还款方式：&lt;strong>等额本息还款和等额本金还款&lt;/strong>
两种还款方案每月还款金额计算如下：
假定贷款的年利率为r,还款年限为Y年，贷款本金为P，每月还款金额为A
贷款的月利率R=r/12R=r/12, 还款期数为N=12YN=12Y&lt;/p>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>等额本息还款：&lt;/strong>
等额本息还款是指在还款时，每个月总的还款金额是相同的。每月所还本金和所还利息是变化的
假定第t个还款月还款后，剩余的总还款金额为 p(t)p(t).p(0)=Pp(1)=p(0)(1+R)−A=P(1+R)−Ap(2)=P(1)(1+R)−A=&lt;a href="1+R">P(1+R)−A&lt;/a>−A=P(1+R)2−(1+R)A−A…p(t)=P(1+R)t−A(1+R)t−1−A(1+R)t−2−…−A(1+R)−Ap(0)=Pp(1)=p(0)(1+R)−A=P(1+R)−Ap(2)=P(1)(1+R)−A=&lt;a href="1+R">P(1+R)−A&lt;/a>−A=P(1+R)2−(1+R)A−A…p(t)=P(1+R)t−A(1+R)t−1−A(1+R)t−2−…−A(1+R)−A我们可以得到每月还款后剩余还款金额p(t)p(t)的表达式：p(t)=P(1+R)t−A∑i=0t−1(1+R)i=P(1+R)t−A1−(1+R)t1−（1+R)=P(1+R)t−A(1+R)t−1Rp(t)=P(1+R)t−A∑i=0t−1(1+R)i=P(1+R)t−A1−(1+R)t1−（1+R)=P(1+R)t−A(1+R)t−1R我们给定的还款期数为N，也就是说p(N)=0p(N)=0,我们可以求出每月还款数额A。
由方程P(n)=P(1+R)N−A(1+R)N−1R=0P(n)=P(1+R)N−A(1+R)N−1R=0可以得到A=PR(1+R)N(1+R)N−1A=PR(1+R)N(1+R)N−1也就是说，如果采用等额本息的方式来还款，每月需要还款的数额为PR(1+R)N(1+R)N−1PR(1+R)N(1+R)N−1虽然每个月的还款数额相同，每月所还得利息和本金是变化的
第t+1个还款月需要还的利息i(t+1)i(t+1),为该月还款前的剩余还款金额p(t)p(t)乘以月利率Ri(t+1)=p(t)R=PR(1+R)t−A(1+R)t+A=(PR−A)(1+R)t+A=((PR−A)(1+R)t−1+A)(1+R)−A(1+R)+A=i(t)(1+R)−ARi(t+1)=p(t)R=PR(1+R)t−A(1+R)t+A=(PR−A)(1+R)t+A=((PR−A)(1+R)t−1+A)(1+R)−A(1+R)+A=i(t)(1+R)−AR因为(PR−A)&amp;lt;0(PR−A)&amp;lt;0,所以i(t)i(t)是关于t的减函数，也就是说每个月的还款金额中，利息所占的比重是降低的，而本金所占的比重是上升的&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>等额本金还款：&lt;/strong>
在等额本金还款方式中，每个月还款的本金是相同，但是每个月所还的利息不同，所以每个月的还款总金额是变化的。
每个月需要还得本金pr为总本金除以总的还款月数。pr=PNpr=PN每个月需要还得利息pi(t)pi(t) = (本金-已归还的本金之和)*每月利率pi(t)=(P−pr(t−1))R=−prAt+(A+P)R=−PRNt+(PN+P)Rpi(t)=(P−pr(t−1))R=−prAt+(A+P)R=−PRNt+(PN+P)R可以看到，每个月所还利息pi(t)pi(t)是关于t的减函数，说明每个月所还的利息是逐渐减少的。由于每个月所还的本金数额不变，所以每个月所还贷款总额是递减的。&lt;/p></description></item><item><title>HTML5服务器推送事件（Server-sent-event）</title><link>https://blog.zdltech.com/posts/html5fu-wu-qi-tui-song-shi-jian-serversentevent/</link><pubDate>Wed, 19 Aug 2020 03:19:23 +0000</pubDate><guid>https://blog.zdltech.com/posts/html5fu-wu-qi-tui-song-shi-jian-serversentevent/</guid><description># HTML5服务器推送事件（Server-sent-event） {#toc_0} &amp;gt; 在前端开发中，实现界面推送的方式，这里大概总结下三种方式 &amp;gt; &amp;gt; 1. 轮询（ajax），比较耗费服务器资源。COMET方式（COMET 技术并不是 HTML 5 ） &amp;gt; 2. websocket 双向数据推送...</description></item><item><title>Spring boot 自定义处理404 500等</title><link>https://blog.zdltech.com/posts/spring-boot-zi-ding-yi-chu-li404-500deng/</link><pubDate>Wed, 12 Aug 2020 06:21:40 +0000</pubDate><guid>https://blog.zdltech.com/posts/spring-boot-zi-ding-yi-chu-li404-500deng/</guid><description>## Spring boot 自定义处理404 500等 {#toc_0} &amp;gt; 有时候我们会遇到一些问题，需要我们自定义一些异常，例如404、403、502、500等，我们这里就说说Springboot 修改自定义这些。 ### 处理方式一 {#toc_1} 我们重写ErrorController接...</description></item><item><title>PDF转图片</title><link>https://blog.zdltech.com/posts/pdf-zhuan-tu-pian/</link><pubDate>Tue, 30 Jun 2020 06:28:42 +0000</pubDate><guid>https://blog.zdltech.com/posts/pdf-zhuan-tu-pian/</guid><description>## PDF转图片 {#toc_0} &amp;gt; 在开发过程中，我们遇到PDF 转图片的需求，这里主要介绍下Java（Apache pdfbox） ### Java Apache PdfBox使用 {#toc_1} &amp;gt; 首先我们要引入Apache Pdfbox的包 &amp;gt; &amp;gt; gradle &amp;gt; &amp;gt; compil...</description></item><item><title>Spring boot 集成ElasticSearch</title><link>https://blog.zdltech.com/posts/spring-boot-ji-chengelasticsearch/</link><pubDate>Sun, 28 Jun 2020 06:04:34 +0000</pubDate><guid>https://blog.zdltech.com/posts/spring-boot-ji-chengelasticsearch/</guid><description>* [Spring boot 集成ElasticSearch][1] * [第一步Spring boot集成ELasticSearch][2] * [第二步Spring boot中配置ElasticSearch][3] * [第三步 创建操作的实体Bean（我创建的是UserItemBean）][4...</description></item><item><title>java保留两位小数</title><link>https://blog.zdltech.com/posts/java%E4%BF%9D%E7%95%99%E4%B8%A4%E4%BD%8D%E5%B0%8F%E6%95%B0/</link><pubDate>Fri, 27 Mar 2020 03:04:24 +0000</pubDate><guid>https://blog.zdltech.com/posts/java%E4%BF%9D%E7%95%99%E4%B8%A4%E4%BD%8D%E5%B0%8F%E6%95%B0/</guid><description>java保留两位小数 1.使用java类库中自带的DecimalFormat类，使数字输出结果保留2位小数 代码如下: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190809104600398.png?x-oss-process=image/waterma...</description></item><item><title>Spring boot+mybatis+Sqlite环境配置</title><link>https://blog.zdltech.com/posts/spring-bootmybatissqlite-huan-jing-pei-zhi/</link><pubDate>Thu, 28 Nov 2019 01:11:39 +0000</pubDate><guid>https://blog.zdltech.com/posts/spring-bootmybatissqlite-huan-jing-pei-zhi/</guid><description>## Spring boot+mybatis+Sqlite+mybatis-generator环境配置 {#toc_0} &amp;gt; 有的时候 我们开发不需要一定要用到mysql、oracle等数据库，Sqlite也是我们的一种选择。 &amp;gt; &amp;gt; ### Sqlite使用场景 {#toc_1} &amp;gt; &amp;gt; 小型网站...</description></item><item><title>Redis 安装及使用</title><link>https://blog.zdltech.com/posts/redis-an-zhuang-ji-shi-yong/</link><pubDate>Thu, 26 Sep 2019 01:20:26 +0000</pubDate><guid>https://blog.zdltech.com/posts/redis-an-zhuang-ji-shi-yong/</guid><description>## Redis 安装及使用 {#toc_0} &amp;gt; Redis是一个开源的使用ANSI [C语言][1]编写、支持网络、可基于内存亦可持久化的日志型、Key-Value[数据库][2]，并提供多种语言的API &amp;gt; &amp;gt; redis是一个key-value[存储系统][3]。和Memcached类似，它...</description></item><item><title>Shiro 简单入门</title><link>https://blog.zdltech.com/posts/shiro-jian-dan-ru-men/</link><pubDate>Tue, 17 Sep 2019 06:46:04 +0000</pubDate><guid>https://blog.zdltech.com/posts/shiro-jian-dan-ru-men/</guid><description>## Shiro 简单入门 {#toc_0} &amp;gt; Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。 &amp;gt; &amp;gt; 三个核心组件：Subjec...</description></item><item><title>MyBatis及MyBatisPlus简单使用</title><link>https://blog.zdltech.com/posts/mybatis-jimybatisplus-jian-dan-shi-yong/</link><pubDate>Tue, 17 Sep 2019 03:42:09 +0000</pubDate><guid>https://blog.zdltech.com/posts/mybatis-jimybatisplus-jian-dan-shi-yong/</guid><description>## MyBatis及MyBatisPlus简单使用 {#toc_0} &amp;gt; 在做java开发的时候，我们经常会使用Mybatis来作为我们操作数据库的工具库，今天一步步带领大家集成到Spring boot中，本篇主要实现Spring boot+mybatis+MybatisPlus的基础使用 ###...</description></item><item><title>一步一步带你构建Spring Cloud</title><link>https://blog.zdltech.com/posts/yi-bu-yi-bu-dai-ni-gou-jianspring-cloud/</link><pubDate>Tue, 27 Aug 2019 04:01:39 +0000</pubDate><guid>https://blog.zdltech.com/posts/yi-bu-yi-bu-dai-ni-gou-jianspring-cloud/</guid><description>&amp;gt; ​ Spring Cloud是一系列框架的有序集合。它利用[Spring Boot][1]的开发便利性巧妙地简化了分布式系统基础设施的开发，如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等，都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有...</description></item><item><title>Spring boot 读取properties</title><link>https://blog.zdltech.com/posts/spring-boot-du-quproperties/</link><pubDate>Thu, 11 Jul 2019 03:36:38 +0000</pubDate><guid>https://blog.zdltech.com/posts/spring-boot-du-quproperties/</guid><description>\## Spring boot 读取properties &amp;gt; 在开发中我们需要通过属性文件配置常用属性，例如数据库相关、日志相关、测试相关等。 &amp;gt; &amp;gt; 1. 自定义properties文件获取属性 &amp;gt; 2. application.properties获取属性 \### 自定义properties文...</description></item><item><title>Spring boot 事务回滚</title><link>https://blog.zdltech.com/posts/spring-boot-%E4%BA%8B%E5%8A%A1%E5%9B%9E%E6%BB%9A/</link><pubDate>Thu, 20 Jun 2019 00:43:17 +0000</pubDate><guid>https://blog.zdltech.com/posts/spring-boot-%E4%BA%8B%E5%8A%A1%E5%9B%9E%E6%BB%9A/</guid><description>### {.wp-block-heading} 在Controller中添加 @Transactional 自己捕获异常之后事务不能回滚 原因： 默认spring事务只在发生未被捕获的 RuntimeException 时才回滚 spring aop 异常捕获原理：被拦截的方法需显式抛出异常，并不能...</description></item><item><title>Spring boot过滤器 Filter使用</title><link>https://blog.zdltech.com/posts/spring-boot%E8%BF%87%E6%BB%A4%E5%99%A8-filter%E4%BD%BF%E7%94%A8/</link><pubDate>Fri, 14 Jun 2019 09:57:16 +0000</pubDate><guid>https://blog.zdltech.com/posts/spring-boot%E8%BF%87%E6%BB%A4%E5%99%A8-filter%E4%BD%BF%E7%94%A8/</guid><description>### 过滤器Filter {.wp-block-heading} ** 过滤器是基于Servlet的拦截，是在Web容器进行拦截。常用的场景有登录、权限判断、tonken过滤等。当然使用拦截器也可以，拦截器是基于Spring的拦截，可以作用于Controller等的方法中。如果是Web的话，没有特...</description></item><item><title>Spring Boot 过滤器和拦截器总结</title><link>https://blog.zdltech.com/posts/spring-boot-%E8%BF%87%E6%BB%A4%E5%99%A8%E5%92%8C%E6%8B%A6%E6%88%AA%E5%99%A8%E6%80%BB%E7%BB%93/</link><pubDate>Fri, 24 May 2019 16:04:00 +0000</pubDate><guid>https://blog.zdltech.com/posts/spring-boot-%E8%BF%87%E6%BB%A4%E5%99%A8%E5%92%8C%E6%8B%A6%E6%88%AA%E5%99%A8%E6%80%BB%E7%BB%93/</guid><description>!\[请输入图片描述\]\[1\]### 拦截器与过滤器的区别 ![](https://www.zdltech.com/usr/uploads/2019/05/2120521969.png) 过滤器和拦截器触发时机不一样，过滤器是在请求进入容器后，但请求进入servlet之前进行预处理的。请求结束返...</description></item><item><title>关于HttpUrlConnection请求网络加载证书与不加载证书的区别</title><link>https://blog.zdltech.com/posts/%E5%85%B3%E4%BA%8Ehttpurlconnection%E8%AF%B7%E6%B1%82%E7%BD%91%E7%BB%9C%E5%8A%A0%E8%BD%BD%E8%AF%81%E4%B9%A6%E4%B8%8E%E4%B8%8D%E5%8A%A0%E8%BD%BD%E8%AF%81%E4%B9%A6%E7%9A%84%E5%8C%BA%E5%88%AB/</link><pubDate>Tue, 21 May 2019 12:09:00 +0000</pubDate><guid>https://blog.zdltech.com/posts/%E5%85%B3%E4%BA%8Ehttpurlconnection%E8%AF%B7%E6%B1%82%E7%BD%91%E7%BB%9C%E5%8A%A0%E8%BD%BD%E8%AF%81%E4%B9%A6%E4%B8%8E%E4%B8%8D%E5%8A%A0%E8%BD%BD%E8%AF%81%E4%B9%A6%E7%9A%84%E5%8C%BA%E5%88%AB/</guid><description>测试的3个网址分别为： String uri1 = &amp;amp;#8220;https://mportal.tianjihuifu.com/tjhf/loginRegist/login?uname=13265468238&amp;amp;pwd=123456&amp;amp;#8221;; String uri2 = &amp;amp;#8220;http...</description></item><item><title>SpringBoot消失的Web.xml</title><link>https://blog.zdltech.com/posts/springboot%E6%B6%88%E5%A4%B1%E7%9A%84web-xml/</link><pubDate>Tue, 19 Mar 2019 05:38:19 +0000</pubDate><guid>https://blog.zdltech.com/posts/springboot%E6%B6%88%E5%A4%B1%E7%9A%84web-xml/</guid><description># Filter 过滤器作为web.xml中重要的一部分，有着相当高的出场率，SpringBoot会默认注册几个Filter **ApplicationContextHeaderFilter** **CharacterEncodingFilter** 如果添加了Security依赖的话会加入**Sp...</description></item><item><title>Mybatis Generator 无法生成selectByPrimaryKey、deleteByPrimaryKey、updateByPrimaryKey MySQL</title><link>https://blog.zdltech.com/posts/mybatis-generator-%E6%97%A0%E6%B3%95%E7%94%9F%E6%88%90selectbyprimarykeydeletebyprimarykeyupdatebyprimarykey-mysql/</link><pubDate>Tue, 29 Jan 2019 05:36:10 +0000</pubDate><guid>https://blog.zdltech.com/posts/mybatis-generator-%E6%97%A0%E6%B3%95%E7%94%9F%E6%88%90selectbyprimarykeydeletebyprimarykeyupdatebyprimarykey-mysql/</guid><description>问题现象： 最近因为一张表新加了字段，重新使用 mybatis-generator 生成了一下mapper文件，结果发现新生成的文件比之前少了xxxByPrimaryKey 的几个方法，对应的xml文件中同样也少了这几个, 并且xml文件中的resultMap节点里主键id使用的是result标签，...</description></item><item><title>命令行打包 war文件</title><link>https://blog.zdltech.com/posts/%E5%91%BD%E4%BB%A4%E8%A1%8C%E6%89%93%E5%8C%85-war%E6%96%87%E4%BB%B6/</link><pubDate>Mon, 24 Dec 2018 05:57:07 +0000</pubDate><guid>https://blog.zdltech.com/posts/%E5%91%BD%E4%BB%A4%E8%A1%8C%E6%89%93%E5%8C%85-war%E6%96%87%E4%BB%B6/</guid><description>&amp;gt; 根据自己项目的真实情况需要注意配置jdk环境，如果jdk环境不同可能造成打出的war包不能正常运行。例如 项目使用jdk1.7 打包使用javac必须为jdk1.7中的javac命令，tomcat需要配置执行的jdk环境为1.7。如果电脑使用的和项目使用的是同一个jdk，配置路径可以省略，其他情...</description></item><item><title>Nginx 301重定向域名</title><link>https://blog.zdltech.com/posts/nginx-301%E9%87%8D%E5%AE%9A%E5%90%91%E5%9F%9F%E5%90%8D/</link><pubDate>Mon, 10 Dec 2018 02:58:49 +0000</pubDate><guid>https://blog.zdltech.com/posts/nginx-301%E9%87%8D%E5%AE%9A%E5%90%91%E5%9F%9F%E5%90%8D/</guid><description>## 为何要使用301重定向 在网站建设中需要网页重定向的情况很多：如网页目录结构变动，网页重命名、网页的扩展名改变、网站域名改变等。如果不做重定向，用户的收藏和搜索引擎数据库中的旧地址只能让访客得到一个404错误信息页面，访问流量白白丧失。不仅如此，之前该页面的一切积累（比如PR值）就都白费了。 ...</description></item><item><title>tomcat配置301重定向</title><link>https://blog.zdltech.com/posts/tomcat%E9%85%8D%E7%BD%AE301%E9%87%8D%E5%AE%9A%E5%90%91/</link><pubDate>Mon, 10 Dec 2018 02:56:26 +0000</pubDate><guid>https://blog.zdltech.com/posts/tomcat%E9%85%8D%E7%BD%AE301%E9%87%8D%E5%AE%9A%E5%90%91/</guid><description>tomcat默认情况下不带www的域名是不会跳转到带www的域名的，而且也无法像apache那样通过配置.htaccess来实现。如果想要把不带“www&amp;amp;#8217;的域名重定向到带”www&amp;amp;#8221;域名下，又不想写代码，可以使用UrlRewriteFilter来实现。 ## 1.简介 urlR...</description></item><item><title>Java AES256加密解密实现</title><link>https://blog.zdltech.com/posts/java-aes256%E5%8A%A0%E5%AF%86%E8%A7%A3%E5%AF%86%E5%AE%9E%E7%8E%B0/</link><pubDate>Sun, 09 Dec 2018 06:53:35 +0000</pubDate><guid>https://blog.zdltech.com/posts/java-aes256%E5%8A%A0%E5%AF%86%E8%A7%A3%E5%AF%86%E5%AE%9E%E7%8E%B0/</guid><description>import it.sauronsoftware.base64.Base64; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.security.Secure...</description></item><item><title>轻量级微服务架构下总结</title><link>https://blog.zdltech.com/posts/%E8%BD%BB%E9%87%8F%E7%BA%A7%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%9E%B6%E6%9E%84%E4%B8%8B%E6%80%BB%E7%BB%93/</link><pubDate>Sun, 26 Aug 2018 01:58:26 +0000</pubDate><guid>https://blog.zdltech.com/posts/%E8%BD%BB%E9%87%8F%E7%BA%A7%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%9E%B6%E6%9E%84%E4%B8%8B%E6%80%BB%E7%BB%93/</guid><description># ## 轻量级的微服务 * * * ![2018-08-25-2](https://ws4.sinaimg.cn/large/006tNbRwly1fumcpw4i0bj31hq0rgtfi.jpg) &amp;amp;nbsp; 总结：整个微服务使用Spring boot + Docker 冰山上，ZooKee...</description></item><item><title>Java 执行运行Jar文件</title><link>https://blog.zdltech.com/posts/java-%E6%89%A7%E8%A1%8C%E8%BF%90%E8%A1%8Cjar%E6%96%87%E4%BB%B6/</link><pubDate>Tue, 05 Dec 2017 09:49:58 +0000</pubDate><guid>https://blog.zdltech.com/posts/java-%E6%89%A7%E8%A1%8C%E8%BF%90%E8%A1%8Cjar%E6%96%87%E4%BB%B6/</guid><description>java执行jar文件命令 java -jar 文件.jar 到此就成功执行jar了， 我的jar中有多个入口，我想执行其他的入口，怎么搞？ 不着急慢慢看下去 java运行jar包中指定Class的main方法，这时可以通过： java -cp xxx.jar xxx.com.xxxx [args]...</description></item><item><title>Java + 腾讯企业邮箱 + javamail发送邮件</title><link>https://blog.zdltech.com/posts/java-%E8%85%BE%E8%AE%AF%E4%BC%81%E4%B8%9A%E9%82%AE%E7%AE%B1-javamail%E5%8F%91%E9%80%81%E9%82%AE%E4%BB%B6/</link><pubDate>Tue, 05 Dec 2017 02:22:05 +0000</pubDate><guid>https://blog.zdltech.com/posts/java-%E8%85%BE%E8%AE%AF%E4%BC%81%E4%B8%9A%E9%82%AE%E7%AE%B1-javamail%E5%8F%91%E9%80%81%E9%82%AE%E4%BB%B6/</guid><description>搞了一上午终于搞定了腾讯云企业邮箱的发送，话说腾讯云的东西就是繁琐，但是好用，还是得认真看文档啊，不然真的摸不着北。 腾讯企业邮箱官网：http://exmail.qq.com ![](http://img.blog.csdn.net/20171011143839038?watermark/2/te...</description></item><item><title>SpringBoot 学习网站收藏</title><link>https://blog.zdltech.com/posts/springboot-%E5%AD%A6%E4%B9%A0%E7%BD%91%E7%AB%99%E6%94%B6%E8%97%8F/</link><pubDate>Wed, 20 Sep 2017 09:03:10 +0000</pubDate><guid>https://blog.zdltech.com/posts/springboot-%E5%AD%A6%E4%B9%A0%E7%BD%91%E7%AB%99%E6%94%B6%E8%97%8F/</guid><description># Spring Boot加载配置文件 {.detail-title} # https://my.oschina.net/wangyuefive/blog/704615#h3_4 {.detail-title} &amp;amp;nbsp; ## **问题3：如何根据线上环境和线下环境加载不同的配置？如何加载多个配...</description></item><item><title>spring-boot–使用thymeleaf模板</title><link>https://blog.zdltech.com/posts/spring-boot-%E4%BD%BF%E7%94%A8thymeleaf%E6%A8%A1%E6%9D%BF/</link><pubDate>Tue, 19 Sep 2017 10:24:29 +0000</pubDate><guid>https://blog.zdltech.com/posts/spring-boot-%E4%BD%BF%E7%94%A8thymeleaf%E6%A8%A1%E6%9D%BF/</guid><description>参考：http://blog.csdn.net/u014695188/article/details/52347318 参考：http://blog.csdn.net/u012706811/article/details/52185345 # 整体步骤： （1） 在pom.xml中引入thymele...</description></item><item><title>MyBatis的返回参数类型</title><link>https://blog.zdltech.com/posts/mybatis%E7%9A%84%E8%BF%94%E5%9B%9E%E5%8F%82%E6%95%B0%E7%B1%BB%E5%9E%8B/</link><pubDate>Sat, 26 Aug 2017 14:44:38 +0000</pubDate><guid>https://blog.zdltech.com/posts/mybatis%E7%9A%84%E8%BF%94%E5%9B%9E%E5%8F%82%E6%95%B0%E7%B1%BB%E5%9E%8B/</guid><description>MyBatis的返回参数类型分两种 **1. 对应的分类为：** 1.1.resultMap: 1.2.resultType: **2 .对应返回值类型：** 2.1.resultMap:结果集 2.2.resultType:int,string ,long ,class **3. 注意点：** 在...</description></item><item><title>CentOS+Nginx一步一步开始配置负载均衡</title><link>https://blog.zdltech.com/posts/centosnginx%E4%B8%80%E6%AD%A5%E4%B8%80%E6%AD%A5%E5%BC%80%E5%A7%8B%E9%85%8D%E7%BD%AE%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1/</link><pubDate>Thu, 18 Aug 2016 02:50:45 +0000</pubDate><guid>https://blog.zdltech.com/posts/centosnginx%E4%B8%80%E6%AD%A5%E4%B8%80%E6%AD%A5%E5%BC%80%E5%A7%8B%E9%85%8D%E7%BD%AE%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1/</guid><description>Nginx负载均衡的理解 Nginx是一个轻量级的、高性能的WebServer，他主要可以干下面两件事： 作为http服务器（和apache的效果一样） 作为反向代理服务器实现负载均衡 现在Nginx到处都可以见到，经常会看到宕机后的网页会显示nginx的字样，这也说明Nginx由于高性能、使用配置...</description></item><item><title>Java文件下载ContentType设置</title><link>https://blog.zdltech.com/posts/java%E6%96%87%E4%BB%B6%E4%B8%8B%E8%BD%BDcontenttype%E8%AE%BE%E7%BD%AE/</link><pubDate>Thu, 18 Aug 2016 02:37:26 +0000</pubDate><guid>https://blog.zdltech.com/posts/java%E6%96%87%E4%BB%B6%E4%B8%8B%E8%BD%BDcontenttype%E8%AE%BE%E7%BD%AE/</guid><description>String filePath=&amp;amp;#8221;&amp;amp;#8221;; File file=new File(filePath); //解决乱码问题 String filename=URLEncoder.encode(file.getName(),&amp;amp;#8221;utf-8&amp;amp;#8243;); //重置输出流 ...</description></item><item><title>IntelliJ IDEA 14.1上JFinal开发环境搭建手册</title><link>https://blog.zdltech.com/posts/intellij-idea-14-1%E4%B8%8Ajfinal%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA%E6%89%8B%E5%86%8C/</link><pubDate>Sun, 14 Aug 2016 09:38:52 +0000</pubDate><guid>https://blog.zdltech.com/posts/intellij-idea-14-1%E4%B8%8Ajfinal%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA%E6%89%8B%E5%86%8C/</guid><description>JFinal官方的教程都是使用Eclipse进行开发的，而使用Intellij IDEA来做开发，不少地方和Eclipse区别还是很大的。 本文参考了网上不少文章，主要沿用了网友的内容，一步一步做了尝试后记录下来，感谢万能的互联网。 分别做了两个Module，分别使用Jetty和tomcat来运行。...</description></item><item><title>Java读取文件MD5的两种方案</title><link>https://blog.zdltech.com/posts/java%E8%AF%BB%E5%8F%96%E6%96%87%E4%BB%B6md5%E7%9A%84%E4%B8%A4%E7%A7%8D%E6%96%B9%E6%A1%88/</link><pubDate>Fri, 29 Jul 2016 02:48:32 +0000</pubDate><guid>https://blog.zdltech.com/posts/java%E8%AF%BB%E5%8F%96%E6%96%87%E4%BB%B6md5%E7%9A%84%E4%B8%A4%E7%A7%8D%E6%96%B9%E6%A1%88/</guid><description>最近要弄一下Java读取文件MD5，注意这里是小文件，网上找了一下，有两种解决方案，一种是用MessageDigest来实现，另种是用org.apache.commons.codec.digest来实现，代码如下： **[java]** [view plain](http://blog.csdn.n...</description></item><item><title>MVC模式优缺点</title><link>https://blog.zdltech.com/posts/mvc%E6%A8%A1%E5%BC%8F%E4%BC%98%E7%BC%BA%E7%82%B9/</link><pubDate>Mon, 27 Jun 2016 02:09:22 +0000</pubDate><guid>https://blog.zdltech.com/posts/mvc%E6%A8%A1%E5%BC%8F%E4%BC%98%E7%BC%BA%E7%82%B9/</guid><description>优点： 1. 耦合性低 2. 重用性高 3. 生命周期成本低 4. 部署快 5. 可维护性高 6. 有利软件工程化管理 缺点： 1. 没有明确的定义 2. 不适合小型、中等规模 3. 增加系统结构和实现的复杂性 4. 视图与控制器间过于紧密的连接 5. 视图对模型数据的低效率访问 6. 一般高级的界...</description></item><item><title>java中无符号类型的处理</title><link>https://blog.zdltech.com/posts/java%E4%B8%AD%E6%97%A0%E7%AC%A6%E5%8F%B7%E7%B1%BB%E5%9E%8B%E7%9A%84%E5%A4%84%E7%90%86/</link><pubDate>Wed, 08 Apr 2015 13:52:13 +0000</pubDate><guid>https://blog.zdltech.com/posts/java%E4%B8%AD%E6%97%A0%E7%AC%A6%E5%8F%B7%E7%B1%BB%E5%9E%8B%E7%9A%84%E5%A4%84%E7%90%86/</guid><description>在Java中，不存在Unsigned无符号数据类型，但可以轻而易举的完成Unsigned转换。 方案一：如果在Java中进行流(Stream)数据处理，可以用DataInputStream类对Stream中的数据以Unsigned读取。 Java在这方面提供了支持，可以用java.io.DataIn...</description></item><item><title>java 网页解析工具包 Jsoup</title><link>https://blog.zdltech.com/posts/java-%E7%BD%91%E9%A1%B5%E8%A7%A3%E6%9E%90%E5%B7%A5%E5%85%B7%E5%8C%85-jsoup/</link><pubDate>Tue, 29 Apr 2014 01:53:45 +0000</pubDate><guid>https://blog.zdltech.com/posts/java-%E7%BD%91%E9%A1%B5%E8%A7%A3%E6%9E%90%E5%B7%A5%E5%85%B7%E5%8C%85-jsoup/</guid><description>Jsoup是一个非常好的解析网页的包，用java开发的，提供了类似DOM，CSS选择器的方式来查找和提取文档中的内容。 相关资料如下： 下载地址：[http://jsoup.org/download](http://jsoup.org/download) 中文文档资料：[http://www.ope...</description></item></channel></rss>