2019-12-02 15:30
阅读目录
一、JVM 内存区域
二、Java 对象创建
回到顶部
一、JVM 内存区域
堆 - Heap
线程共享,JVM中最大的一块内存,此内存的唯一目的就是存放对象实例,Java 堆是垃圾收集器管理的主要区域,因此很多时候也被称为“GC堆”(Garbage Collected Heap),可以通过 -Xmx 和 -Xms 参数来控制该区域大小。
方法区 - Method Area
线程共享,它用来存储已被虚拟机加载的类信息(版本、字段、方法、接口等描述信息)、常量、静态变量、即时编译器编译后的代码等数据。
...
2019-12-02 15:55
今天介绍一个开源的C# WPF开源控件库,非常漂亮,重点是开源哦...
2019-12-02 15:22
一、栈的定义
栈是限定仅在表尾进行插入和删除操作的线性表。允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom)。栈又称后进先出的线性表,简称LIFO结构。
注意:首先它是一个线性表,也就是说栈元素有前驱后继关系。
栈的插入操作,叫做进栈,也称压栈、入栈
栈的删除操作,叫做出栈,也叫弹栈。
注意:最先入栈,不代表就要最后出栈。因为栈没有限制出栈的时间,例如可以先入栈两个元素,再出栈两个元素,后入栈其他元素。
二、栈的抽象数据类型
复制代码
...
2019-12-02 15:41
本文紧接着RobotFramework自动化测试框架-Selenium Web自动化(二)关于在RobotFramework中如何使用Selenium很全的总结(上)继续分享RobotFramework中如何使用Selenium进行自动化测试。...
2019-12-02 15:13
前言
常见的注册中心有zookeeper 、eureka、consul、etcd。
从生态发展、便利性、语言无关性等角度来综合考量,选择consul,多数据中心支持,支持k-v能力,可扩展为配置中心。
github地址:https://github.com/hashicorp/consul
consul官网:https://learn.hashicorp.com/consul
consul特性
consul是分布式的、高可用、横向扩展的。consul提供的一些关键特性:
service discovery:consul通过DNS或者HTTP接口使服务注册和服务发现变的很容易,一些外部服务,例如saas提供的也可以一样注册。
...
2019-12-02 15:45
本次发表文章距上次发表已近有两月有余,原因是两月前离开了上家公司(离开原因可能会在年终终结叙述,本篇暂且忽略),来到了现在所在的京东集团,需要花时间熟悉环境和沉淀一下新的东西,因此写文章也暂时没那么勤奋了,不得不说这次是机遇也是对自己职业生涯的一次重要决定。...
2019-12-02 15:17
实现单点登录说到底就是要解决如何产生和存储那个信任,再就是其他系统如何验证这个信任的有效
性,因此要点也就以下两个:1、存储信任 ;2、服务器生产~验证信任 ; 3、拿到服务器再次验证。
单点登录的常见落地实现技术有哪些?
身份认证技术:
1. cas(单点登录)
2. Spring Security OAuth2(第三方登录授权:QQ登陆)
3. jwt (客户端token:原生)
安全控制框架:
1. spring-security
2. shiro:
...
2019-12-02 15:39
近期研读路神之绝世武学,徜徉于浩瀚无垠知识之海洋,偶有攫取吉光片羽,惶恐未领略其精髓即隐入岁月深处,遂急忙记录一二,顺备来日吹cow之谈资。本小系列为并发之亲儿子-独臂狂侠synchronized专场。...
2019-12-02 15:09
一、背景
在为什么需要异步编程文章末尾提到,"为了使socket和缓冲区(read或write)在整个异步操作的生命周期一直保持活动,我们需要采取特殊的保护措施。你的连接类需要继承自enabled_shared_from_this,然后在内部保存它需要的缓冲区,而且每次异步调用都要传递一个智能指针给this操作"。本文就详细介绍为什么使用enabled_shared_from_this就能保证对象的生命周期,以及enabled_shared_from_this内部的具体实现分析。
二、为什么需要保证对象生命周期
...
2019-12-02 15:29
一款 spring ioc 核心功能简化实现版本,便于学习和理解原理。创作目的...
2019-12-02 15:01
第一部分:面试题
本篇文章我们将尝试回答以下问题:
描述一下jvm的内存结构
描述一下jvm的内存模型
谈一下你对常量池的理解
什么情况下会发生栈内存溢出?和内存溢出有什么不同?
String str = new String(“abc”)创建了多少个实例?
第二部分:深入原理
ok,开始。怎们还是先讲原理,再说答案。如果时间不足,也可以直接跳到最后看答案。
本次分享我们主要围绕jvm内存结构展开,这也是java面试必考知识点之一。所以我们先来看看jvm内存结构到底是啥样子。
1. jvm内存模型
...
2019-12-02 15:28
一.索引提交 当一个文档被添加到Solr中,但没有提交给索引之前,这个文档是无法被搜索的。换句话说,从查询的角度看,文档直到提交之后才是可见的。Solr有两种类型的提交:软提交和正常提交【也称硬提交】。...
2019-12-02 15:00
cropperjs是一款非常强大却又简单的图片裁剪工具,它可以进行非常灵活的配置,支持手机端使用,支持包括IE9以上的现代浏览器。(关键是使用方法简单,几行代码就可以搞定)
实践效果图
如图,可以对指定的图片进行裁剪,可以自己选择裁剪的交互方式,如大小、纵横比等 还可以预览裁剪区域,确认裁剪后可以生成一个包含裁剪图的canvas对象,借助canvas的toDataURL方法可以生成一张Base64格式的图片。还有另外一种不使用canvas的方式,利用该工具丰富的api可以拿到裁剪区域相对于原图的各项数据,使用这些数据进行css绝对定位即可展示裁剪后的图,该方式可以保证图片不失真和完整。
...
2019-12-02 15:59
序
今天正在刷数学函数相关题目,刷到了下面这篇文章,哇哦~有意思。 利用cos和sin实现复杂的曲线。传送门在下面。
CSS 技巧一则 -- 在 CSS 中使用三角函数绘制曲线图形及展示动画
正巧在复习一些数学知识,遂动手实践了一把使用 数学中的函数 使用css画连续曲线。
函数: 第一步
在数学中 函数 是指 ,一组定义域通过一组表达式, 映射到一组值域,也就是说 函数 f(x) = x^2 表示一个集合,每个输入x,固定通过x^2返回一个值y,由此定义可得:
当集合 X = {-2, -1, 0, 1, 2} 输入到函数f,得到的值域集合 Y = { y | y >= 0 }。
...