Java虚拟机——GC算法

学习Java总是避不开jvm的,毕竟整个java都运行在这个虚拟机上,可能以后会把虚拟机独立出来成为一个分类罢。

GC算法介绍

Garbage Collection,垃圾收集,即内存回收,我们都知道Java是不需要程序员手动管理内存的,因为java有一个垃圾清理器的东西存在,Java中,GC的对象是Java堆和方法区(即永久区)。垃圾指的是在系统运行过程当中所产生的一些无用的对象,这些对象占据着一定的内存空间,如果长期不被释放,可能导致OOM。

GC算法分类

继续阅读Java虚拟机——GC算法

2017数学建模国赛回顾

我们选的是A题,题目是一代CT成像系统的原理。其实可以当成一个纯数值积分计算+矩阵变换来做。

CT系统利用物质吸收射线的特性对物质进行断层成像,但其安装过程中存在误差,会对最终成像造成影响,因此,利用已知的模板对CT系统的参数进行标定是必要的。标定好的CT系统可对未知物体进行断层成像。

开始的时候就想到了可以利用概率来大概的画出图像,对每一个点,都有180组数据相加,后来发现其实自己想到的方法就是物体直接反投影法,非常简单,效果也不佳,会引入云晕状伪影,从而导致图像失真。
继续阅读2017数学建模国赛回顾

离散特征之间的相关性计算

今天数模队友突然给我发了一个链接,就是关于离散特征之间的相关性计算的,了解了一下之后发现这个方法挺有意思的,算是扩宽了思路,所以记录一下

建模过程中总是会想把特征的数量减少,一般而言可以用皮尔逊系数来度量,两个变量之间的皮尔逊相关系数定义为两个变量之间的协方差和标准差的商。也可以使用主成分分析,当然使用主成分分析会将原来的变量替换掉,无法计算特征之间的相关性。
继续阅读离散特征之间的相关性计算

HashMap、HashTable、ConcurrentHashMap辨析

HashMap、HashTable、ConcurrentHashMap可以说是java集合类的重点了,见到很多的面试题都会提到集合类的线程安全,比如HashMap是非线程安全的,那么有哪些线程安全的集合类,答案当然是HashTable和ConcurrentHashMap。

接下来一个一个看三种集合类的特点。

HashMap

HashMap就是普通的数组+链表的组合,可以称为拉链法,数据结构的课程有完整的讲述,简单的来说就是用一个数组来保存一堆链表的头节点。
继续阅读HashMap、HashTable、ConcurrentHashMap辨析

Java数据类型及自动转换

这篇文章来源于不久前看到的一道面试题。

题目

在JDK7中,如何声明x和i,使得x=x+i合法,x+=i不合法。

第一眼看到这道题目,误以为是使x+=i合法,x=x+i不合法,想着这应该挺简单,大抵是+=这个运算符会对后面的类型做强制类型转换,而普通的加法至少会转换成int,因此,只要将x声明称byte、short或者将i的类型声明为比x精度高的类型即可。

然而仔细一看就惊了,因为印象中+=运算会自动带上强制类型转换,x+=i不合法的,x=x+i理应也不合法,查阅了网上的资料之后,发现在jdk7之前,好像可以通过Object没有+=运算来做处理。如下声明
继续阅读Java数据类型及自动转换

Logistic回归以及虚拟变量的使用

题目

寒假集训的第一道题目是个人信用体系模型的建立。看到题目的第一反应就是回归啦、神经网络啦之类的。然后就是上网找论文。(话说校园网就是爽啊,各种论文都能随便下载。)

问题及解决

最后看到有前辈使用Logistic的回归效果看起来不错的样子,于是照搬之,问题就开始出现了。 * 首先是变量类型的问题,明显我们不能将各个省份均分到0~1之间,这个时候就要引入虚拟变量,比如,有43个省份,计算2^n>43,n最小为6,那么就添加6个虚拟变量来表示省份。
继续阅读Logistic回归以及虚拟变量的使用

更新计划

现在是凌晨四点三十五分,我躺在床上,宿舍里只有我一个人。屋外应该还下着或大或小的雪罢。

转眼也快要大三下了,眼瞅着实习的日子马上就要到来,好像也不能继续做一条老咸鱼了,嗯,明天就要迎来人生的第一场面试了。

大一时就想写的博客,终于在大三这个寒假开始正式动笔了,大概和以前断断续续在gitlab,简书上的写的一些文字不一样,这次可以坚持的久一些罢。
继续阅读更新计划