<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[a327369238的专栏]]></title><description><![CDATA[浊酒凭栏听风雨，青衫仗剑走江湖]]></description><link>https://blog.youkuaiyun.com/a327369238</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; a327369238]]></copyright><item><title><![CDATA[Java线程池执行流程及坑]]></title><link>https://blog.youkuaiyun.com/a327369238/article/details/119917804</link><guid>https://blog.youkuaiyun.com/a327369238/article/details/119917804</guid><author>a327369238</author><pubDate>Wed, 25 Aug 2021 19:28:04 +0800</pubDate><description><![CDATA[咳咳，详见：https://www.cnblogs.com/trust-freedom/p/6681948.html#label_3_2
网上有很多讲的很详细得了，上面的文章，博主已经讲得非常详细了（但要注意上述文章是jdk1.7，1.8的大同小异），我这边总结下主要流程（忽略中途线程池关闭等异常情况）以及标注下一些重点或者可能忽略的点
1.运行初，新任务（runnable）过来，判断当前活跃线程数量（注1）是否小于核心线程数，小于，直接新建线程运行之
2.若大于核心线程数，直接加入队列；若当前活跃线程=0]]></description><category></category></item><item><title><![CDATA[Java父子类同名变量]]></title><link>https://blog.youkuaiyun.com/a327369238/article/details/105417932</link><guid>https://blog.youkuaiyun.com/a327369238/article/details/105417932</guid><author>a327369238</author><pubDate>Thu, 09 Apr 2020 19:46:29 +0800</pubDate><description><![CDATA[嗯，继承的一个小知识点，前段时间线上碰到的一个问题，不说废话，直接上一个demo看下吧
class Parent{
    public int value = 5;

    public int getValue(){
        return value;
    }
}

class Child extends Parent{
    public int value = 10;

 ...]]></description><category></category></item><item><title><![CDATA[Java源码解析(8) —— ClassLoader(3)]]></title><link>https://blog.youkuaiyun.com/a327369238/article/details/80416886</link><guid>https://blog.youkuaiyun.com/a327369238/article/details/80416886</guid><author>a327369238</author><pubDate>Wed, 04 Dec 2019 19:44:47 +0800</pubDate><description><![CDATA[//检查类签名
private void checkCerts(String name, CodeSource cs) {
        int i = name.lastIndexOf('.');
        String pname = (i == -1) ? &quot;&quot; : name.substring(0, i);

        Certificate[] certs = null;
...]]></description><category></category></item><item><title><![CDATA[Spring统一异常处理器无法处理非法请求异常]]></title><link>https://blog.youkuaiyun.com/a327369238/article/details/82462671</link><guid>https://blog.youkuaiyun.com/a327369238/article/details/82462671</guid><author>a327369238</author><pubDate>Thu, 06 Sep 2018 15:55:29 +0800</pubDate><description><![CDATA[1.问题描述

Forwarding to error page from request [/aaa/bbb/ccc/bookhistory/] due to exception [账号未登录] com.xxx.web.base.exception.BusinessException: 账号未登录
at com.xxx.web.core.interceptor.LoginInterceptor....]]></description><category></category></item><item><title><![CDATA[面向切面编程AOP]]></title><link>https://blog.youkuaiyun.com/a327369238/article/details/80417203</link><guid>https://blog.youkuaiyun.com/a327369238/article/details/80417203</guid><author>a327369238</author><pubDate>Wed, 23 May 2018 11:07:41 +0800</pubDate><description><![CDATA[看到知乎有个关于AOP的解说，很精彩，特意转过来记录分享下： 
转自： 
作者：Javdroider Hong 
链接：https://www.zhihu.com/question/24863332/answer/350410712 
来源：知乎 
著作权归作者所有。商业转载请联系作者获得授权，非商业转载请注明出处。

看到一高赞回答有Bug，所以还是简单说几句吧。

先上结论：AOP不一定都像S...]]></description><category></category></item><item><title><![CDATA[Java源码解析(7) —— ClassLoader(2)]]></title><link>https://blog.youkuaiyun.com/a327369238/article/details/79173839</link><guid>https://blog.youkuaiyun.com/a327369238/article/details/79173839</guid><author>a327369238</author><pubDate>Fri, 11 May 2018 19:56:04 +0800</pubDate><description><![CDATA[/**
 * 由虚拟机调用，这是一个private方法，但我在ClassLoader源码中并未看到有地方调用
 * 看名字及源码说明，是由虚拟机加载类的时候内部调用，百度查询估计是加载jdk类时
 * 系统类加载器通过反射调用该方法（jdk类中有许多类似用法）
 */
    private Class loadClassInternal(String name)
        throws C...]]></description><category></category></item><item><title><![CDATA[Java双亲委派]]></title><link>https://blog.youkuaiyun.com/a327369238/article/details/70139747</link><guid>https://blog.youkuaiyun.com/a327369238/article/details/70139747</guid><author>a327369238</author><pubDate>Wed, 14 Jun 2017 20:42:01 +0800</pubDate><description><![CDATA[1.Java加载器组织结构简单说明每一个类加载器都有一个父加载器，这种父加载器不是通过继承来实现，即： 
（类的加载可参见：Java类的加载）Class MyClassLoader extends ClassLoader{
}//这种只是声明定义自己的加载器，而不是ClassLoader是其父加载器，事实上ClassLoader是抽象类它事实上是通过组合关系来实现的：//ClassLoader源码：]]></description><category></category></item><item><title><![CDATA[Java源码解析(6) —— ClassLoader(1)]]></title><link>https://blog.youkuaiyun.com/a327369238/article/details/55053720</link><guid>https://blog.youkuaiyun.com/a327369238/article/details/55053720</guid><author>a327369238</author><pubDate>Mon, 13 Feb 2017 20:45:45 +0800</pubDate><description><![CDATA[ClassLoader —— 类加载核心类

类加载核心类，关于类加载详见：Java类的加载。]]></description><category></category></item><item><title><![CDATA[Java源码解析(5) —— Class(4)]]></title><link>https://blog.youkuaiyun.com/a327369238/article/details/54933115</link><guid>https://blog.youkuaiyun.com/a327369238/article/details/54933115</guid><author>a327369238</author><pubDate>Mon, 13 Feb 2017 17:59:07 +0800</pubDate><description><![CDATA[Class最后一部分源码，这一部分大都是private方法、属性、类，都是Class本身各种方法的实现细节，涉及到了很多Class的实现原理，较为深奥，网上能找到的资料也比较少，目前只懂皮毛，仅供参考，所以，我这一部分说的可能是不正确的，需要抱着怀疑的态度看待！咳，就这样，闪人。]]></description><category></category></item><item><title><![CDATA[Java源码解析(4) —— Class(3)]]></title><link>https://blog.youkuaiyun.com/a327369238/article/details/52814348</link><guid>https://blog.youkuaiyun.com/a327369238/article/details/52814348</guid><author>a327369238</author><pubDate>Wed, 08 Feb 2017 20:46:14 +0800</pubDate><description><![CDATA[@CallerSensitive
    public Class[] getDeclaredClasses() throws SecurityException {
        // be very careful not to change the stack depth of this
        // checkMemberAccess call for security reas]]></description><category></category></item><item><title><![CDATA[Mac Charles乱码解决办法]]></title><link>https://blog.youkuaiyun.com/a327369238/article/details/52856833</link><guid>https://blog.youkuaiyun.com/a327369238/article/details/52856833</guid><author>a327369238</author><pubDate>Mon, 14 Nov 2016 14:25:47 +0800</pubDate><description><![CDATA[用到Charles，下载最新的4.0.1版本，但是发生乱码问题。百度好久才找到个靠谱的，那些说什么在Info.plist文件加字符串的，都是假的，反正我是试了都没用,这里记下详细的操作步骤解决： 
1.安装SSL证书 
3.10之前的，需要去http://www.charlesproxy.com/ssl.zip 下载 CA 证书文件，然后双击 .crt 文件，选择「总是信任」按钮，在钥匙串访问中即可]]></description><category></category></item><item><title><![CDATA[高性能MySQL学习笔记(5) —— MVCC]]></title><link>https://blog.youkuaiyun.com/a327369238/article/details/52808865</link><guid>https://blog.youkuaiyun.com/a327369238/article/details/52808865</guid><author>a327369238</author><pubDate>Mon, 17 Oct 2016 11:22:13 +0800</pubDate><description><![CDATA[多版本控制　　Multi-Version Concurrency Control，多版本控制，每次操作，copy一份所要改的数据作为副本，副本之间通过一个版本号字段区分，并将副本的版本号+1，如果是更新操作，数据在副本上修改完后，要更新时候查看原纪录的版本号是否是副本版本号-1，是，更新，否（说明有其他修改事务在这期间修改了数据，使其版本号更新了），失败，重新取数据重新更新；如果是读操作，则是根据隔]]></description><category></category></item><item><title><![CDATA[高性能MySQL学习笔记(4) —— 事务隔离级别]]></title><link>https://blog.youkuaiyun.com/a327369238/article/details/52800262</link><guid>https://blog.youkuaiyun.com/a327369238/article/details/52800262</guid><author>a327369238</author><pubDate>Thu, 13 Oct 2016 16:40:45 +0800</pubDate><description><![CDATA[事务隔离级别事务的ACID属性中的隔离性，如何实现呢？在SQL标准中定义了四种隔离级别。 
但要注意，标准中定义的这四个级别，在实际上各个存储引擎的实现是不尽相同的，有些细节地方还是不一样的，学习的时候需要注意下。并发问题在说明事务隔离级别之前，先说说事务并发可能引发的问题。 
1、更新丢失：一个事务的更新覆盖了另一个事务的更新。事务A：向银行卡存钱100元。事务B：向银行卡存钱200元。A和B同时]]></description><category></category></item><item><title><![CDATA[Java源码解析(3) —— Class(2)]]></title><link>https://blog.youkuaiyun.com/a327369238/article/details/52770389</link><guid>https://blog.youkuaiyun.com/a327369238/article/details/52770389</guid><author>a327369238</author><pubDate>Wed, 12 Oct 2016 15:54:26 +0800</pubDate><description><![CDATA[Class 源码详解续（2）

关于Class，详见：Java源码解析(2) —— Class(1)。



源码



//如果该Class对象是本地类或匿名类，返回包含这个类的方法的信息（Method对象）
public Method getEnclosingMethod() {...}
//如果该类具有（内部）本地类或匿名类，获取其信息，包括Class对象、name以及描述。
private]]></description><category></category></item><item><title><![CDATA[Java 内部类、成员类、局部类、匿名类等]]></title><link>https://blog.youkuaiyun.com/a327369238/article/details/52780442</link><guid>https://blog.youkuaiyun.com/a327369238/article/details/52780442</guid><author>a327369238</author><pubDate>Tue, 11 Oct 2016 17:49:15 +0800</pubDate><description><![CDATA[Java各种称呼类详解Java有各种各样类，内部类、嵌套类、成员类、局部类（本地类）、静态类、匿名类、文件类以及这些组合起来的称呼类，成员内部类，成员匿名类，成员嵌套类，本地匿名类等，真是多的不行，但有些其实是一个意思，在这里好好理一理。声明1.注意，这些称呼都是翻译过来的，但是同一个英文单词或一个词组翻译过来可能有不同叫法，比如local nested class，local有局部、本地意思，其实]]></description><category></category></item><item><title><![CDATA[优秀程序员必备技能大全]]></title><link>https://blog.youkuaiyun.com/a327369238/article/details/52770281</link><guid>https://blog.youkuaiyun.com/a327369238/article/details/52770281</guid><author>a327369238</author><pubDate>Sun, 09 Oct 2016 20:41:33 +0800</pubDate><description><![CDATA[转自：中华科技网 
转载地址：优秀程序员必备技能大全我特别支持软件开发者在他们掌握技术技能的同时去学习“软技能”——事实上，我写了一本关于这方面的书——但是不可否认的是：技术技能很重要。我的意思是，如果你不能编写代码和开发软件，那么你学习众多软技能有个卵用。也许你可以成为一名优秀的管理人员或指导人员，但不会是软件开发人员。如果你正在阅读这篇文章，那么我假设你有兴趣成为一个软件开发人员——或者是更优秀]]></description><category></category></item><item><title><![CDATA[cracking the coding interview 中文版 （程序员面试金典）]]></title><link>https://blog.youkuaiyun.com/a327369238/article/details/52767391</link><guid>https://blog.youkuaiyun.com/a327369238/article/details/52767391</guid><author>a327369238</author><pubDate>Sun, 09 Oct 2016 20:16:26 +0800</pubDate><description><![CDATA[转自：CTCI面试系列——谷歌面试官经典作品 | 快课网
谷歌面试官经典作品(CTCI)目录
1.1 判断一个字符串中的字符是否唯一
1.2 字符串翻转
1.3 去除字符串中重复字符
1.8 利用已知函数判断字符串是否为另一字符串的子串
2.1 从链表中移除重复结点
2.2 实现一个算法从一个单链表中返回倒数第n个元素
2.3 给定链表中间某结点指针，删除链表中该结点
2.4 求由两个链表结点组成的]]></description><category></category></item><item><title><![CDATA[Java源码解析(2) —— Class(1)]]></title><link>https://blog.youkuaiyun.com/a327369238/article/details/52577040</link><guid>https://blog.youkuaiyun.com/a327369238/article/details/52577040</guid><author>a327369238</author><pubDate>Sun, 09 Oct 2016 14:53:43 +0800</pubDate><description><![CDATA[Class——反射基石

Java基本类之一，反射机制的基础，是一个运行时类。其意义为：类的抽象，即对“类”做描述：比如类有修饰、字段、方法等属性，有获得该类的所有方法、所有公有方法等方法。



声明

1.Class的源码太长，这里分5部分解析，一些方法的实现源代码较长，这里就没有贴出来了，我会着重将叙述其作用，至于其实现逻辑，以本人现有水平估计也很难一一讲解清晰，大家姑且看之，若其中有错误地]]></description><category></category></item><item><title><![CDATA[Type Java类型]]></title><link>https://blog.youkuaiyun.com/a327369238/article/details/52621043</link><guid>https://blog.youkuaiyun.com/a327369238/article/details/52621043</guid><author>a327369238</author><pubDate>Sat, 08 Oct 2016 14:49:24 +0800</pubDate><description><![CDATA[Type —— Java类型　　Type是一个空接口，所有类型的公共接口（父接口），其意义表示Java所有类型，这里所谓的类型是从Java整个语言角度来看的，比如原始类型、参数化类型（泛型）、类型变量及其数组等。Type的子孙概述　　注意区分类型（Type）与类（Class）的区别，这里Class是Type的一种，而像数组、枚举等“类型”是相对于Class来说。Type的直接子接口1.Paramet]]></description><category></category></item><item><title><![CDATA[Java源码解析(附录)(5) —— WildcardType]]></title><link>https://blog.youkuaiyun.com/a327369238/article/details/52711529</link><guid>https://blog.youkuaiyun.com/a327369238/article/details/52711529</guid><author>a327369238</author><pubDate>Fri, 30 Sep 2016 15:18:50 +0800</pubDate><description><![CDATA[WildcardType 泛型表达式通配符表达式，泛型表达式，也可以说是，限定性的泛型，形如：? extends classA、？super classB。源码public interface WildcardType extends Type {
    //获得泛型表达式上界（上限）
    Type[] getUpperBounds();
    //获得泛型表达式下界（下限）
    Typ]]></description><category></category></item></channel></rss>