IntelliJ IDEA

JVM内存分析,以及一步步详解Java程序是如何运行的?

大城市里の小女人 提交于 2020-07-28 07:41:59
云栖号资讯:【 点击查看更多行业资讯 】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! VM也就是Java虚拟机,它的内存结构这块知识点。 你说它重要吧,编写代码基本用不到它; 你说它不重要吧,程序员想要进阶又必须对底层有一定的了解。 最终还是决定更加深入地学习下JVM,同时也用自己的理解详细地说明Java程序是如何运行的。 当然本人目前的能力有限,只能说尽己之能学的越多越好。 一、Java程序开发三步骤 编写、编译和运行,图解如下: ①编写阶段 后缀名为.Java的文件,也就是所谓的源码。 但是Java虚拟机它并不认识.Java文件,Java虚拟机和Java语言其实并没有必然的联系。 其实我挺想吐槽的,你们长的这么像,竟然不认识? 那为何不认识呢? 按照我个人的理解,我们常说的代码、Java语言,其实本质上还是人类定义的一门语言,主要由英文组成,Java虚拟机 本身并不认识它。 所以需要将其编译成Java虚拟机 认识的语言,即.class文件。 ②编译阶段 后缀名为.class的文件,也就是所谓的字节码文件。 字节码文件,就可以理解成我们写代码一个类(接口、枚举、注释)里面的所有数据。 .class文件是如何来的? javac编译器编译而来的,它能将.java文件编译成.class文件,这样的话JVM也就能认识.class文件了。

饿了么4年+阿里2年:研发路上的一些总结与思考

元气小坏坏 提交于 2020-07-28 03:58:45
我是在2014年入职饿了么,从前端和PHP一直做到后端架构和团队,从2014年到2017年陆续负责过公司客服、销售、代理商、支付、清结算、订单这些业务的产研与团队;2018年从业务研发团队抽身,6个人组起一个小组投身机器学习,试图结合实际的业务场景通过技术改造业务;2019年回归到平台(中台)研发,负责交易、金融、营销三个中台的研发和团队工作。基于我在饿了么的4年和阿里巴巴的2年研发经历,从技术、业务和架构层面分享一些我的思考。 一、技术层面 对开发同学而言,技术是立身之本,虽然往往面试造火箭入职拧螺丝,但技术就是你从业的的基石。不管是基本的动手能力还是问题分析能力,包括你的思维逻辑乃至对事物认知的思路,技术思维都会时刻影响你,最明显的影响就是当你面对无数个问题的钉子时,技术是不是你最顺手的那把锤子。 技术上我比较关注的几个层面: 基本功(语言、编码这个层面,主要是动手能力) 大型分布式系统的实战经验(RPC、SOA、MySQL、Redis、MQ) 项目(DB设计、API契约、DDD抽象、链路设计、项目风险把控) 稳定性(可用 & 资损) 1、 稳定性 稳定性是一个先有意识再有能力的事儿,记得2015年初,张雪峰加入饿了么担任CTO之后,从他嘴里最常听到的一句话就是“研发要对生产环境有敬畏”。 2014年下半年,各方人马都开始杀入外卖市场,饿了么启动百城计划进行业务扩张

到底什么级别才算是高并发?

為{幸葍}努か 提交于 2020-07-28 03:36:44
作者:边鹏_尛爺鑫 https://segmentfault.com/a/1190000010844969 大家心里仔细想想,当你们听到高并发网站时,心里对这个网站是个什么概念? 首先想到的是淘宝吗?带着问题,我们一起思考技术~ 写这个话题是因为我对搜索引擎给我的答案很不满意,然后决定把思考的一些东西分享出来,希望可以大家彼此讨论下。 我们经常在面试的时候,被问到有没有高并发的经验?先不说哪些考高并发的装逼公司。我思考的是什么才算是高并发?你一天几个pv肯定高不了。首先在网上查找一下,并未找到明确的标准定义。那么什么是并发呢? 并发,在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。 摘自百度百科 我们说的高并发是什么? 上面的定义明显不是我们通常所言的并发,在互联网时代,所讲的并发、高并发,通常是指并发访问。也就是在某个时间点,有多少个访问同时到来。 我看到有人给高并发下了类似的定义: 高并发通常是指我们提供的系统服务能够同时并行处理很多请求。 来看看这个定义,这里首先把并发给混淆到并行了。关于并发并行的区别看这里我就不多说,继续探讨并发。 然后定义又说很多请求?什么叫很多请求?做为中国人,这个词让我想象力一发不可收拾......好了,拉回来,继续本文。 那么从上面的分析

intellij idea各种设置备忘录

|▌冷眼眸甩不掉的悲伤 提交于 2020-07-28 03:13:44
记录intellij idea设置备忘录。 v 设置类代码颜色 v 设置spring warning 作  者: 请叫我头头哥 出  处: http://www.cnblogs.com/toutou/ 关于作者:专注于基础平台的项目开发。如有问题或建议,请多多赐教! 版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。 特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。或者 直接私信 我 声援博主:如果您觉得文章对您有帮助,可以点击文章右下角 【 推荐 】 一下。您的鼓励是作者坚持原创和持续写作的最大动力! 来源: oschina 链接: https://my.oschina.net/u/4400642/blog/4292156

IDEA提高开发效率的7个插件

≯℡__Kan透↙ 提交于 2020-07-27 23:07:52
IDEA提高开发效率的7个插件 1. 多行编辑 先来体验一下从xml文件拷贝字段新建实体对象 一般我们为了新建多表连接后映射的 ResultMap ,耗费不少时间,那么我们就来试一试这个多行编辑 表字段存在下划线,而实体中不允许,更是讨厌 ,等着一招教你解决 前提条件,安装一个idea的插件,用来驼峰与下划线互转的:CamelCase 步骤: ① 多行选择,按住ALT(windows)/option(Mac) ,拉动鼠标就可 ② 选中字段对象 Win Ctrl+shift+左箭头 Mac option+shift+左箭头 ③ 复制,然后新建实体对象,右键选择 Paste without Formatting,也就是无格式粘贴 ④ 然后下划线转驼峰对象,插件有快捷键 Win Shift + Alt + U Mac ⇧(shift) + ⌥(option) + U ⑤ 选中多行,直接输入即是多行编辑,编辑完成后使用代码格式化即可 2. Grep Console 功效 自定义idea日志打印颜色等功效 解决的问题 历史的老项目打印的日志无颜色,未配置颜色 多项目配置的彩色日志也不同 其他地方日志粘贴过来,也可以上色 直接去idea设置中 Plugins 下载即可,下面设置日志颜色 效果图如下 3. JRebel热部署 解决了什么问题 项目启动时间长,修改一个字段要重启一下,实属弟弟

IDEA安装及基本配置

一世执手 提交于 2020-07-27 22:43:22
IDEA基本介绍 IntelliJ IDEA是JetBrains公司开发的一款开发Java的开发工具,简称IDEA,JetBrains公司还有其他几款优秀的开发工具。 IDEA是一款收费软件,在财力允许情况下以购买正版使用优先,否则出现版权问题就不好了,当今社会对于知识版权还是非常看中的。不过由于国内的特殊性,IDEA也有“免费”的办法,使用 IDEA注册码 可以“免费”使用到2020年3月11号。 进入注册码页面,点击“获取注册码”按钮,将弹窗内的注册码复制保存,一会有用! IDEA下载 IDEA下载地址 ,请下载Ultimate版,蓝色下载按钮。 IDEA安装 选择安装目录,一定要是一个空的文件夹! Next之后直接Install 安装完成需要重启电脑 重启电脑后首次打开软件,首先会询问是否要导入配置,由于是初次使用,就选择不导入配置。 随后软件会询问注册,此时选择“注册码”注册,即刚刚得到的注册码,复制进去即可。 随后选择主题,根据个人习惯选择即可。 随后选择插件,默认即可,后续可按需卸载&安装。 至此安装过程结束! IDEA基本配置 有两种方式进入设置界面 第一种:在没有进入项目的时候 第二种:从打开的项目中进入 字体设置 开发中有些字符极其容易混淆,如字母O和数字0,字母l和数字1,所以代码的字体尤为重要! 关闭自动更新 设置自动导包 禁止自动打开上次的项目 禁用代码折叠

Tomcat--在IDEA创建Java Web项目,通过tomcat启动

懵懂的女人 提交于 2020-07-27 22:25:08
Tomcat--在IDEA创建Java Web项目,通过tomcat启动 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 配置Idea 找到run菜单,找到配置 选择模版,找到tomcat 选择自己的tomcat的目录 创建Java Web项目 选择新建项目,选择好版本 当我们创建好了之后。tomcat服务器相应的也搭建好了 运行 在浏览器中localhost:8080 感谢 黑马程序员 万能的网络 以及勤劳的自己 来源: oschina 链接: https://my.oschina.net/guizimo/blog/4318710

翻车现场:org.springframework.data.mapping.PropertyReferenceException

孤人 提交于 2020-07-27 22:10:12
翻车现场: 在IDEA进行MongoDB进行自定义查询操作时,出现的Bug: Caused by: org.springframework.data.mapping.PropertyReferenceException: No property name found for type Teacher! Did you mean 'age'? 报错: 错误代码: 测试类: TeacherRepository: 原因: 上面的代码,好像一眼看去,没什么问题, 但是在不知道的情况下,已经出问题了, 其中: 接口的命名: findByNameAndAge 中的name和age 与实体类中的不一致,导致的问题 在Spirng Data MongoDB中, 如果进行自定义方法查询,是有规则限制的, 在 MongoRepository下的接口命名是不能随意命名的, 其中的变量需要与实体类中的变量名一致 解决: 只要把原本 findByNameAndAge 改成 findByUsernameAndAge 即可 注意: 除了字段名保持一致, 其他的也要根据 Spring Data mongodb提供自定义方法的规则: 如下: 按照findByXXX,findByXXXAndYYY、countByXXXAndYYY等规则定义方法,实现查询操作。 看完恭喜你,又知道了一点点!!! 你知道的越多

Your idea evaluation has expired. Your session will be limited to 30 minutes

試著忘記壹切 提交于 2020-07-27 21:59:39
今天打开idea,出现了上面的话,试了网上的很多办法,获取注册码的那个方法是最常见的,那个网站现在不提供注册码了。 ----两种方法----- **1)把提示框的x点掉,会自动打开idea** 按最开始安装idea时的步骤 1.----"Help" -> “Register”,选择License server方式,地址填入:http://jetbrains-license-server (应该会自动填上) 2.点击激活,在红色框框的地方会出现 >Please use the new server address http://fls.jetbrains-agent.com 3.把http://jetbrains-license-server替换成http://fls.jetbrains-agent.com 4.点击Test Connection和Activate,出现提示 “Connection successful”,说明成功了 5.关掉idea,重新打开 **2)直接在标题提示的下面点击"enter key",然后按从上面的第2步开始操作即可** ------------------- ------------------- ------------------- 上诉方式是基于对JetbrainsCrack.jar操作过了的 来源: oschina 链接: https:/

到底什么是 OAuth 2.0?

与世无争的帅哥 提交于 2020-07-27 15:05:45
作者:阮一峰 http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。 本文对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料为RFC 6749。 一、应用场景 为了理解OAuth的适用场合,让我举一个假设的例子。 有一个"云冲印"的网站,可以将用户储存在Google的照片,冲印出来。用户为了使用该服务,必须让"云冲印"读取自己储存在Google上的照片。 问题是只有得到用户的授权,Google才会同意"云冲印"读取这些照片。那么,"云冲印"怎样获得用户的授权呢? 传统方法是,用户将自己的Google用户名和密码,告诉"云冲印",后者就可以读取用户的照片了。这样的做法有以下几个严重的缺点。 (1)"云冲印"为了后续的服务,会保存用户的密码,这样很不安全。 (2)Google不得不部署密码登录,而我们知道,单纯的密码登录并不安全。 (3)"云冲印"拥有了获取用户储存在Google所有资料的权力,用户没法限制"云冲印"获得授权的范围和有效期。 (4)用户只有修改密码,才能收回赋予"云冲印"的权力。但是这样做,会使得其他所有获得用户授权的第三方应用程序全部失效。 (5)只要有一个第三方应用程序被破解