<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lmjsummer的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/lmjsummer</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lmjsummer]]></copyright><item><title><![CDATA[Mongodb多表关联示例]]></title><link>https://blog.youkuaiyun.com/lmjsummer/article/details/85164653</link><guid>https://blog.youkuaiyun.com/lmjsummer/article/details/85164653</guid><author>lmjsummer</author><pubDate>Fri, 21 Dec 2018 16:44:07 +0800</pubDate><description><![CDATA[db.loan_meta.aggregate( {$lookup: {
            from: &quot;credit_meta&quot;,
            localField: &quot;apply_no&quot;,
            foreignField: &quot;apply_no&quot;,
            as: &quot;inventory_docs&quot;
         }
   },{$match ...]]></description><category></category></item><item><title><![CDATA[Java程序员深入java虚拟机（一）——java虚拟机底层结构详解（图解）]]></title><link>https://blog.youkuaiyun.com/lmjsummer/article/details/79835053</link><guid>https://blog.youkuaiyun.com/lmjsummer/article/details/79835053</guid><author>lmjsummer</author><pubDate>Sat, 07 Apr 2018 13:46:28 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[Java程序员深入java虚拟机（八）开发自己的类加载器]]></title><link>https://blog.youkuaiyun.com/lmjsummer/article/details/79834840</link><guid>https://blog.youkuaiyun.com/lmjsummer/article/details/79834840</guid><author>lmjsummer</author><pubDate>Fri, 06 Apr 2018 16:55:42 +0800</pubDate><description><![CDATA[欢迎阅读本专题的其他博客：               深入java虚拟机（一）——java虚拟机底层结构详解                         深入java虚拟机（二）——类的生命周期（上）类的加载和连接                         深入java虚拟机（三）——类的生命周期(下）类的初始化                         深入java虚拟机（四）...]]></description><category></category></item><item><title><![CDATA[Java程序员深入java虚拟机（七）深入源码看java类加载器ClassLoader]]></title><link>https://blog.youkuaiyun.com/lmjsummer/article/details/79834821</link><guid>https://blog.youkuaiyun.com/lmjsummer/article/details/79834821</guid><author>lmjsummer</author><pubDate>Fri, 06 Apr 2018 16:54:44 +0800</pubDate><description><![CDATA[                         深入java虚拟机（一）——java虚拟机底层结构详解                         深入java虚拟机（二）——类的生命周期（上）类的加载和连接                         深入java虚拟机（三）——类的生命周期(下）类的初始化                         深入java虚拟机（四）——j...]]></description><category></category></item><item><title><![CDATA[Java程序员深入java虚拟机（六）——类加载的父亲委托机制]]></title><link>https://blog.youkuaiyun.com/lmjsummer/article/details/79834810</link><guid>https://blog.youkuaiyun.com/lmjsummer/article/details/79834810</guid><author>lmjsummer</author><pubDate>Fri, 06 Apr 2018 16:53:31 +0800</pubDate><description><![CDATA[在前面两篇博客中我们简单介绍了类加载器的基础和类的生命周期的基础内容，今天我们来继续深入的来看一下java的类加载器的详细内容。我们都知道。类加载器用来把类加载到java虚拟机。从JDK2.0开始，类的加载过程采用父亲委托机制。JVM的ClassLoader采用的是树形结构，除了根类加载器以外，每个ClassLoader都会有且仅有一个父类加载器，用户自定义的ClassLoader默认的父类加载器...]]></description><category></category></item><item><title><![CDATA[Java程序员深入java虚拟机（五）——java本地接口JNI详解]]></title><link>https://blog.youkuaiyun.com/lmjsummer/article/details/79834792</link><guid>https://blog.youkuaiyun.com/lmjsummer/article/details/79834792</guid><author>lmjsummer</author><pubDate>Fri, 06 Apr 2018 16:52:26 +0800</pubDate><description><![CDATA[对于java程序员来说，java语言的好处和优点，我想不用我说了，大家自然会说出很多一套套的。但虽然我们作为java程序员，但我们不得不承认java语言也有一些它本身的缺点。比如在性能、和底层打交道方面都有它的缺点。所以java就提供了一些本地接口，他主要的作用就是提供一个标准的方式让java程序通过虚拟机与原生代码进行交互，这也就是我们平常常说的java本地接口（JNI——java native...]]></description><category></category></item><item><title><![CDATA[Java程序员深入java虚拟机（四）——java虚拟机的垃圾回收机制]]></title><link>https://blog.youkuaiyun.com/lmjsummer/article/details/79834774</link><guid>https://blog.youkuaiyun.com/lmjsummer/article/details/79834774</guid><author>lmjsummer</author><pubDate>Fri, 06 Apr 2018 16:50:52 +0800</pubDate><description><![CDATA[Java语言从出现到现在，一直占据编程语言前列，他很大的一个原因就是由于java应用程序所运行的平台有关。我们大家都知道java应用程序运行在java虚拟机上。这样就大大减少了java应用程序和底层操作系统打交道的频率。这也就为java程序的跨平台提供了良好的基础。在java虚拟机中为我们提供了一个很重要的机制就是java虚拟机的自动的内存管理机制。也就是我们平时所说的垃圾回收机制，这使得开发人员...]]></description><category></category></item><item><title><![CDATA[Java程序员深入java虚拟机（三）——类的生命周期(下）类的初始化]]></title><link>https://blog.youkuaiyun.com/lmjsummer/article/details/79834749</link><guid>https://blog.youkuaiyun.com/lmjsummer/article/details/79834749</guid><author>lmjsummer</author><pubDate>Fri, 06 Apr 2018 16:48:40 +0800</pubDate><description><![CDATA[上接深入java虚拟机——深入java虚拟机（二）——类加载器详解（上），在上一篇文章中，我们讲解了类的生命周期的加载和连接，这一篇我们接着上面往下看。       类的初始化:在类的生命周期执行完加载和连接之后就开始了类的初始化。在类的初始化阶段，java虚拟机执行类的初始化语句，为类的静态变量赋值，在程序中，类的初始化有两种途径：（1）在变量的声明处赋值。（2）在静态代码块处赋值，比如下面的代...]]></description><category></category></item><item><title><![CDATA[Java程序员深入java虚拟机（二）——类的生命周期（上）类的加载和连接]]></title><link>https://blog.youkuaiyun.com/lmjsummer/article/details/79834734</link><guid>https://blog.youkuaiyun.com/lmjsummer/article/details/79834734</guid><author>lmjsummer</author><pubDate>Fri, 06 Apr 2018 16:47:06 +0800</pubDate><description><![CDATA[  本文来自：曹胜欢博客专栏。转载请注明出处：http://blog.youkuaiyun.com/csh624366188              类加载器，顾名思义，类加载器（class loader）用来加载 Java 类到 Java 虚拟机中。一般来说，Java 虚拟机使用 Java 类的方式如下：Java 源程序（.java 文件）在经过 Java 编译器编译之后就被转换成 Java 字节代码（....]]></description><category></category></item><item><title><![CDATA[Java程序员深入java虚拟机（一）——java虚拟机底层结构详解]]></title><link>https://blog.youkuaiyun.com/lmjsummer/article/details/79834717</link><guid>https://blog.youkuaiyun.com/lmjsummer/article/details/79834717</guid><author>lmjsummer</author><pubDate>Fri, 06 Apr 2018 16:45:52 +0800</pubDate><description><![CDATA[本文来自：曹胜欢博客专栏。转载请注明出处：http://blog.youkuaiyun.com/csh624366188欢迎关注微信账号：java那些事：csh624366188.每天一篇java相关的文章          在以前的博客里面，我们介绍了在java领域中大部分的知识点，从最基础的java最基本语法到SSH框架。这里面应该包含了在java领域里面的大部分内容了吧。但是，那些知识点是让我们从一个应...]]></description><category></category></item><item><title><![CDATA[Java程序员深入java虚拟机（一）——java虚拟机底层结构详解------1.Java虚拟机的运行过程(图解)]]></title><link>https://blog.youkuaiyun.com/lmjsummer/article/details/79834510</link><guid>https://blog.youkuaiyun.com/lmjsummer/article/details/79834510</guid><author>lmjsummer</author><pubDate>Fri, 06 Apr 2018 16:25:35 +0800</pubDate><description><![CDATA[上面对虚拟机的各个部分进行了比较详细的说明，下面通过一个具体的例子来分析它的运行过程。虚拟机通过调用某个指定类的方法main启动，传递给main一个字符串数组参数，使指定的类被装载，同时链接该类所使用的其它的类型，并且初始化它们。例如对于程序：class HelloApp {    public static void main(String[] args)     {        System...]]></description><category></category></item><item><title><![CDATA[Java程序员深入java虚拟机（一）——java虚拟机底层结构详解------2.Java程序运行全过程总结(图解)]]></title><link>https://blog.youkuaiyun.com/lmjsummer/article/details/79834441</link><guid>https://blog.youkuaiyun.com/lmjsummer/article/details/79834441</guid><author>lmjsummer</author><pubDate>Fri, 06 Apr 2018 16:17:17 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[什么是线程池?]]></title><link>https://blog.youkuaiyun.com/lmjsummer/article/details/79809625</link><guid>https://blog.youkuaiyun.com/lmjsummer/article/details/79809625</guid><author>lmjsummer</author><pubDate>Tue, 03 Apr 2018 21:33:37 +0800</pubDate><description><![CDATA[什么是线程池线程池的概念大家应该都很清楚，帮我们重复管理线程，避免创建大量的线程增加开销。除了降低开销以外，线程池也可以提高响应速度，了解点 JVM 的同学可能知道，一个对象的创建大概需要经过以下几步：检查对应的类是否已经被加载、解析和初始化类加载后，为新生对象分配内存将分配到的内存空间初始为 0对对象进行关键信息的设置，比如对象的哈希码等然后执行 init 方法初始化对象创建一个对象的开销需要经...]]></description><category></category></item><item><title><![CDATA[java.exe和javaw.exe有什么区别吗？]]></title><link>https://blog.youkuaiyun.com/lmjsummer/article/details/79809214</link><guid>https://blog.youkuaiyun.com/lmjsummer/article/details/79809214</guid><author>lmjsummer</author><pubDate>Tue, 03 Apr 2018 21:06:30 +0800</pubDate><description><![CDATA[jdk的java.exe和javaw.exe文件都可以运行由javac.exe编译出来的java文件，但是，这两个程序都是有区别的：1、java启动的程序是命令行程序或阻塞程序，如果该程序未执行完毕或未被关闭，则所打开的命令行将被阻塞，不能执行其它命令如dir等，可以通过Ctrl+C等方式关闭程序；2、javaw启动的程序是窗口程序或非阻塞程序，在使用该命令运行程序后，可接着在命令行中执行下一命令...]]></description><category></category></item></channel></rss>