<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>控制 on 庞玉栋个人博客</title><link>https://pangyd.com/tags/%E6%8E%A7%E5%88%B6/</link><description>Recent content in 控制 on 庞玉栋个人博客</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Wed, 08 Nov 2017 19:18:13 +0800</lastBuildDate><atom:link href="https://pangyd.com/tags/%E6%8E%A7%E5%88%B6/index.xml" rel="self" type="application/rss+xml"/><item><title>Java小技巧，从运行、控制到框架</title><link>https://pangyd.com/post/160-java/</link><pubDate>Wed, 08 Nov 2017 19:17:52 +0800</pubDate><guid>https://pangyd.com/post/160-java/</guid><description>&lt;p style="text-align: center">&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E" data-size="657|493">&lt;/p>&lt;p style="text-align: start">&lt;span>1. JVM相关&lt;/span>&lt;/p>&lt;p style="text-align: start">&lt;span>JVM作为java运行的基础，很难相信对于JVM一点都不了解的人可以把java语言吃得很透。我在面试有超过3年Java经验的开发者的时候， JVM几乎就是一个必问的问题了。当然JVM不是唯一决定技术能力好坏的面试问题，但是可以佐证java开发能力的高低。&lt;/span>&lt;/p>&lt;p style="text-align: start">&lt;span>在JVM这个大类中，我认为需要掌握的知识有：&lt;/span>&lt;/p>&lt;p style="text-align: start">&lt;span>JVM内存模型和结构&lt;/span>&lt;/p>&lt;p style="text-align: start">&lt;span>GC原理，性能调优&lt;/span>&lt;/p>&lt;p style="text-align: start">&lt;span>调优：Thread Dump， 分析内存结构&lt;/span>&lt;/p>&lt;p style="text-align: start">&lt;span>class 二进制字节码结构， class loader 体系 ， class加载过程 ， 实例创建过程&lt;/span>&lt;/p>&lt;p style="text-align: start">&lt;span>方法执行过程&lt;/span>&lt;/p>&lt;p style="text-align: start">&lt;span>Java各个大版本更新提供的新特性(需要简单了解)&lt;/span>&lt;/p>&lt;p style="text-align: start">&lt;span>2. Java的运行（基础必备）&lt;/span>&lt;/p>&lt;p style="text-align: start">&lt;span>这个知识点是最最基本的java开发者需要掌握的，初学java，第一个肯定是教你如何在命令行中执行java程序，但是很多人一旦把java学完了，IDE用上了，就把这个都忘了。为什么强调要知道这个呢，知道了java最纯粹的启动方式之后，你才能在启动出问题的时候，去分析当时启动的目录多少，执行命名如何，参数如何，是否有缺失等。 这样有利于你真正开发中去解决那些奇奇怪怪的可能和环境相关的问题。&lt;/span>&lt;/p>&lt;p style="text-align: start">&lt;span>在这里需要掌握的知识有：&lt;/span>&lt;/p>&lt;p style="text-align: start">&lt;span>javac 编译java文件为 class 文件&lt;/span>&lt;/p>&lt;p style="text-align: start">&lt;span>java 命令的使用， 带package的java类如何在命令行中启动&lt;/span>&lt;/p>&lt;p style="text-align: start">&lt;span>java程序涉及到的各个路径(classpath， java。library。path， java运行的主目录等)&lt;/span>&lt;/p>&lt;p style="text-align: start">&lt;span>3. 数据类型&lt;/span>&lt;/p>&lt;p style="text-align: start">&lt;span>这条没有什么好多说的，无非就是Java中的基本类型和对象类型的掌握。可以再了解一些JDK如何自动转换方面的知识，包括装箱拆箱等，还要注意避免装箱之后的类型相等的判断&lt;/span>&lt;/p>&lt;p style="text-align: start">&lt;span>主要知识点：&lt;/span>&lt;/p>&lt;p style="text-align: start">&lt;span>基本类型： int， long， float， double， boolean ， 。。。&lt;/span>&lt;/p></description></item><item><title>Java小技巧，从运行、控制到框架</title><link>https://pangyd.com/post/157-java/</link><pubDate>Mon, 06 Nov 2017 18:19:27 +0800</pubDate><guid>https://pangyd.com/post/157-java/</guid><description>&lt;p style="text-align: center">&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E" data-size="657|493">&lt;/p>&lt;p>&lt;span>1. JVM相关&lt;/span>&lt;/p>&lt;p>&lt;span>JVM作为java运行的基础，很难相信对于JVM一点都不了解的人可以把java语言吃得很透。我在面试有超过3年Java经验的开发者的时候， JVM几乎就是一个必问的问题了。当然JVM不是唯一决定技术能力好坏的面试问题，但是可以佐证java开发能力的高低。&lt;/span>&lt;/p>&lt;p>&lt;span>在JVM这个大类中，我认为需要掌握的知识有：&lt;/span>&lt;/p>&lt;p>&lt;span>JVM内存模型和结构&lt;/span>&lt;/p>&lt;p>&lt;span>GC原理，性能调优&lt;/span>&lt;/p>&lt;p>&lt;span>调优：Thread Dump， 分析内存结构&lt;/span>&lt;/p>&lt;p>&lt;span>class 二进制字节码结构， class loader 体系 ， class加载过程 ， 实例创建过程&lt;/span>&lt;/p>&lt;p>&lt;span>方法执行过程&lt;/span>&lt;/p>&lt;p>&lt;span>Java各个大版本更新提供的新特性(需要简单了解)&lt;/span>&lt;/p>&lt;p>&lt;span>2. Java的运行（基础必备）&lt;/span>&lt;/p>&lt;p>&lt;span>这个知识点是最最基本的java开发者需要掌握的，初学java，第一个肯定是教你如何在命令行中执行java程序，但是很多人一旦把java学完了，IDE用上了，就把这个都忘了。为什么强调要知道这个呢，知道了java最纯粹的启动方式之后，你才能在启动出问题的时候，去分析当时启动的目录多少，执行命名如何，参数如何，是否有缺失等。 这样有利于你真正开发中去解决那些奇奇怪怪的可能和环境相关的问题。&lt;/span>&lt;/p>&lt;p>&lt;span>在这里需要掌握的知识有：&lt;/span>&lt;/p>&lt;p>&lt;span>javac 编译java文件为 class 文件&lt;/span>&lt;/p>&lt;p>&lt;span>java 命令的使用， 带package的java类如何在命令行中启动&lt;/span>&lt;/p>&lt;p>&lt;span>java程序涉及到的各个路径(classpath， java。library。path， java运行的主目录等)&lt;/span>&lt;/p>&lt;p>&lt;span>3. 数据类型&lt;/span>&lt;/p>&lt;p>&lt;span>这条没有什么好多说的，无非就是Java中的基本类型和对象类型的掌握。可以再了解一些JDK如何自动转换方面的知识，包括装箱拆箱等，还要注意避免装箱之后的类型相等的判断&lt;/span>&lt;/p>&lt;p>&lt;span>主要知识点：&lt;/span>&lt;/p>&lt;p>&lt;span>基本类型： int， long， float， double， boolean ， 。。。&lt;/span>&lt;/p>&lt;p>&lt;span>对应的对象类型： Integer 等类型到基本类型的转换， 装箱和拆箱&lt;/span>&lt;/p>&lt;p>&lt;span>Object类型： equals， hashcode&lt;/span>&lt;/p>&lt;p>&lt;span>String 类型的特点&lt;/span>&lt;/p>&lt;p>&lt;span>4. 对象和实例，对象的创建&lt;/span>&lt;/p>&lt;p>&lt;span>在这方面，开发者需要了解class和instance的概念以及之间的差别， 这是java面向对象特性的一个基础。主要知识点有：&lt;/span>&lt;/p>&lt;p>&lt;span>Class和 Instance 的概念&lt;/span>&lt;/p>&lt;p>&lt;span>Instance 创建的过程：&lt;/span>&lt;/p></description></item></channel></rss>