<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[devlgdg1924的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/devlgdg1924</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; devlgdg1924]]></copyright><item><title><![CDATA[2 java并行基础]]></title><link>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241886</link><guid>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241886</guid><author>devlgdg1924</author><pubDate>Wed, 28 Aug 2019 09:57:00 +0800</pubDate><description><![CDATA[我们认真研究如何才能构建一个正确、健壮并且高效的并行系统。
进程与线程
进程（Process）：是计算机中的程序关于某数据集合上的一次运行活动，是系统进行资源分配和调度的基本单位，是操作系统结构的基础。
进程是线程的容器。程序是指令、数据和其组织形式的描述，进程是程序的实体。进程中可以容纳若干个线程。
进程和线程的关系：线程就是轻量级的进程，是程序执行的最小单位。为什么我们使用多线程而不...]]></description><category></category></item><item><title><![CDATA[1 走进并行世界]]></title><link>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241887</link><guid>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241887</guid><author>devlgdg1924</author><pubDate>Wed, 28 Aug 2019 09:42:00 +0800</pubDate><description><![CDATA[需要知道的几个概念
同步（Synchronous）和异步（Asynchronous）
同步方法调用一旦开始，调用者必须等到方法调用返回后，才继续执行后续行为。
异步方法一旦开始，方法调用会立即返回，调用者就可以继续执行后续行为。而异步方法通常会在另外一个线程“真实”地执行，当这个异步调用真实完成时，则会通知调用者。

并发（Concurrency）和并行（Parallelism）
并发偏...]]></description><category></category></item><item><title><![CDATA[java I/O 系统]]></title><link>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241885</link><guid>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241885</guid><author>devlgdg1924</author><pubDate>Thu, 08 Aug 2019 11:10:00 +0800</pubDate><description><![CDATA[流的类继承结构
我们首先看看流的类继承结构，有助于理解下个标签的内容
InputStream

OutputStream

Reader

Writer

File类
File类技能表示一个特定文件的名称，又能代表一个目录下的一组文件的名称。如果它指的是一个文件集，我们就可以对此集合调用list()方法，这个方法会返回一个字符数组。如果我们想取得不同的目录列表，只需要再创建一个不同的Fi...]]></description><category></category></item><item><title><![CDATA[Spring项目中的数据库加密]]></title><link>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241884</link><guid>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241884</guid><author>devlgdg1924</author><pubDate>Fri, 26 Jul 2019 13:54:00 +0800</pubDate><description><![CDATA[有时候为了安全，我们需要对数据库密码进行加密：
SpringDruid数据源加密数据库密码
当我们初步开始打造系统时，什么都没有一片空白，而数据源使用的是SpringDruid时，我们可以通过这篇博客的方案来进行数据库的加密：
SrpingDruid数据源加密数据库密码
当我们的系统之前使用的就是SpringDuid时，我们可以直接对数据库密码加密：
1 在&lt;bean id="da...]]></description><category></category></item><item><title><![CDATA[13/14：字符串与类型信息]]></title><link>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241883</link><guid>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241883</guid><author>devlgdg1924</author><pubDate>Thu, 25 Jul 2019 19:03:00 +0800</pubDate><description><![CDATA[字符串
String—不可变的对象
String对象是不可变的。String类中看起来会修改String值的方法，实际上都是创建了一个全新的String对象。
public class Immutable {
  public static String upcase(String s) {
    return s.toUpperCase();
  }
  public static ...]]></description><category></category></item><item><title><![CDATA[使用HttpClient访问接口（Rest接口和普通接口）]]></title><link>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241880</link><guid>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241880</guid><author>devlgdg1924</author><pubDate>Fri, 12 Jul 2019 16:41:00 +0800</pubDate><description><![CDATA[这里总结一下使用HttpClient访问外部接口的用法。后期如果发现有什么缺陷会更改。欢迎读者指出此方法的不足之处。
首先，创建一个返回实体：
public class HttpResult {
    // 响应的状态码
    private int code;

    // 响应的响应体
    private String body;

    public HttpResul...]]></description><category></category></item><item><title><![CDATA[8 多态]]></title><link>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241881</link><guid>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241881</guid><author>devlgdg1924</author><pubDate>Mon, 08 Jul 2019 08:29:00 +0800</pubDate><description><![CDATA[多态是继继承和封装之后的第三种基本特性。
多态不但能够改善代码的组织结构和可读性，还能够创建可扩展的程序。
“封装”是通过合并特征和行为来创建新的数据类型。“实现隐藏”则通过将细节“私有化”把接口和实现分离开来。而多态的作用则是 消除类型之间的耦合。多态方法调用允许一种类型表现出与其他相似类型之间的区别，只要它们都是从同一基类导出而来的。
再论向上转型
缺陷：“覆盖”私有方法
当基类方法...]]></description><category></category></item><item><title><![CDATA[持有对象——容器]]></title><link>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241879</link><guid>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241879</guid><author>devlgdg1924</author><pubDate>Mon, 01 Jul 2019 16:05:00 +0800</pubDate><description><![CDATA[如果一个程序只包含固定数量且其生命期都是已知的对象，那么这是一个非常简单的程序。
“容器”（List、set、Map）提供了完善的方法来保存对象，并且保存数量巨大。
java中常用的集合框架体系图如下图所示，之后用到的再另作说明。

各种集合的特点
Collection（单列集合）
List（有序，可重复）
ArrayList
ArrayList：底层结构式数组、查询快、增删慢；线程不安...]]></description><category></category></item><item><title><![CDATA[介绍一种很好用的任务调度平台]]></title><link>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241878</link><guid>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241878</guid><author>devlgdg1924</author><pubDate>Thu, 27 Jun 2019 13:48:00 +0800</pubDate><description><![CDATA[1 总体设计
分布式任务调度平台是什么
XXL-JOB是一个轻量级分布式任务调度平台，和quartz相似，但是XXL-JOB将调度中心与执行器解耦，弥补了quartz的不足（使用API方式操作任务，不人性化；系统侵入性严重等）
其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线，开箱即用。
文档我这边可以给。
源码目录介绍



/xxl-job-...]]></description><category></category></item><item><title><![CDATA[java中的进制与操作符]]></title><link>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241877</link><guid>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241877</guid><author>devlgdg1924</author><pubDate>Wed, 26 Jun 2019 16:57:00 +0800</pubDate><description><![CDATA[直接常量
double: 111d,111D
二进制：前缀为0b
十六进制：前缀为0x或0X，后面最大9位。
八进制：前缀为0，后面最大7位。
按位操作符
与（&amp;）：
或（||）：
异或（^）：
非（~,一元操作符）：
移位操作符
&lt;&lt; ：左移位，按指定位数向左移动，在低位补0
&gt;&gt; ：有符号右移，按指定位向右移动。符号为正，在高位插入0，符号为负，在高位...]]></description><category></category></item><item><title><![CDATA[类再生（合成、继承、final）]]></title><link>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241876</link><guid>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241876</guid><author>devlgdg1924</author><pubDate>Wed, 19 Jun 2019 18:36:00 +0800</pubDate><description><![CDATA[类再生
有两种方法达到代码复用的效果：合成、继承。
合成的语法
合成就是形成对象，把复用的代码置入对象句柄。
在类内字段使用基本数据会初始化为零，但对象句柄会初始化为null。在下面的程序中若没有new该对象，s初始化为null。
class WaterSource {
    private String s;
    WaterSource() {
        System.ou...]]></description><category></category></item><item><title><![CDATA[初始化]]></title><link>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241875</link><guid>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241875</guid><author>devlgdg1924</author><pubDate>Mon, 17 Jun 2019 19:00:00 +0800</pubDate><description><![CDATA[构建器初始化
我们可以在构建器中执行初始化进程。但是不可以妨碍自动初始化的进行，它在构建器进入之前就会发生。下面的程序i首先会初始化为0，然后变成7。
class Counter {
int i;
Counter() { i = 7; }
// . . .
静态数据的初始化
如果是基本类型，会自动获取自己的标准初始化值；如果是指向一个对象，除非新建一个对象，否则为null
只有发生了第一...]]></description><category></category></item><item><title><![CDATA[重新学习Spring2——IOC和AOP原理彻底搞懂]]></title><link>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241874</link><guid>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241874</guid><author>devlgdg1924</author><pubDate>Fri, 21 Sep 2018 16:59:00 +0800</pubDate><description><![CDATA[一、AOP

1 Spring AOP 的实现原理


是对OOP编程方式的一种补充。翻译过来为“面向切面编程”。


1 AspectJ是静态代理的增强：所谓静态代理就是AOP框架会在便一阶段生成AOP代理类，也叫编译器增强。


2 使用Spring ...]]></description><category></category></item><item><title><![CDATA[重新学习Spring一--Spring在web项目中的启动过程]]></title><link>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241882</link><guid>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241882</guid><author>devlgdg1924</author><pubDate>Wed, 19 Sep 2018 10:44:00 +0800</pubDate><description><![CDATA[1 Spring 在web项目中的启动过程


Spring简介

Spring 最简单的功能就是创建对象和管理这些对象间的依赖关系，实现高内聚、低耦合。（高内聚：相关性很强的代码组成，既单一责任原则；低耦合：耦合指块间联系，低耦合既块间联系要低。）
还提...]]></description><category></category></item><item><title><![CDATA[JDK并发包]]></title><link>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241872</link><guid>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241872</guid><author>devlgdg1924</author><pubDate>Wed, 19 Sep 2018 08:41:00 +0800</pubDate><description><![CDATA[JDK提供了大量实用的API和框架，来支持JDK内部功能：

介绍更多多线程控制方法，比如之前的synchronized；
介绍JDK中对线程池的支持，提高线程调度性能；
向大家介绍JDK的一些并发容器。

1  多线程的团队协作：同步控制


synch...]]></description><category></category></item><item><title><![CDATA[java并行程序基础]]></title><link>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241873</link><guid>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241873</guid><author>devlgdg1924</author><pubDate>Tue, 18 Sep 2018 16:36:00 +0800</pubDate><description><![CDATA[1 进程
	1 进程和线程之间的关系：进程是线程的容器。

2 线程

1 线程的执行流程：

**线程调用start(）**方法时，表示线程开始执行；
当线程执行时，处于RUNNABLE状态，表示线程所需的一切资源都准备好了；
当线程遇到synchron...]]></description><category></category></item><item><title><![CDATA[客户端服务端防止用户重复提交表单]]></title><link>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241871</link><guid>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241871</guid><author>devlgdg1924</author><pubDate>Tue, 12 Sep 2017 17:30:00 +0800</pubDate><description><![CDATA[一、什么是表单重复提交？ 
当网络有延迟时，用户提交的表单等数据还没有完成此次提交，但用户又多次点击提交，造成用户数据在数据库或存储中被提交多次。 
利用线程延迟，简单模拟重复提交。 
表单页面为form.html 
[html] view plain c...]]></description><category></category></item><item><title><![CDATA[Tomcat6项目移到Tomcat7 提示 404 解决方案]]></title><link>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241870</link><guid>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241870</guid><author>devlgdg1924</author><pubDate>Fri, 25 Aug 2017 11:34:00 +0800</pubDate><description><![CDATA[一个项目在Tomcat6可以运行和正常访问，但是一部署到Tomcat7就提示404错误。那么可以通过以下方法解决：

找到项目下面的WEB-INF文件夹用记事本打开WEB.XML



找到



&lt;load-on-startup /&gt;

这个标签改为



&lt;load-on-startup &gt;2&lt;/...]]></description><category></category></item><item><title><![CDATA[使用jconsole分析内存情况]]></title><link>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241868</link><guid>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241868</guid><author>devlgdg1924</author><pubDate>Sun, 30 Jul 2017 08:28:00 +0800</pubDate><description><![CDATA[http://www.cnblogs.com/dava/p/6686436.html          

转载于:https://www.cnblogs.com/sean-zeng/p/11024787.html]]></description><category></category></item><item><title><![CDATA[在Java中如何设置一个定时任务，在每天的一个时间点自动执行一个特定的程序...]]></title><link>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241869</link><guid>https://blog.youkuaiyun.com/devlgdg1924/article/details/101241869</guid><author>devlgdg1924</author><pubDate>Mon, 17 Jul 2017 19:02:00 +0800</pubDate><description><![CDATA[Quartz定时机制 
首先导入jar包到程序内   quartz-all-1.6.0.jar 
然后创建一个XML 
TimeConfig.xml 名字可以自己定义



&lt;?xml version="1.0" encoding="UTF-8"?&...]]></description><category></category></item></channel></rss>