首页
学习
活动
专区
工具
TVP
发布

kevindroid

专栏作者
40
文章
34463
阅读量
30
订阅数
JVM学习笔记——垃圾收集器与内存分配策略(1)
上一篇文章介绍了java运行时内存的各个区域,其中虚拟机栈,程序计数器,本地方法栈三个区域随线程而生,随线程而灭。栈中的栈帧随着方法的进入和退出有条不紊的执行着出栈与入栈的操作,每一个栈帧分配多少内存基本是类结构确定下来就已知的。因此,这几个区域的内存回收都具有确定性,在这几个区域不必过多的考虑回收的问题,因为方法结束或者线程结束时,内存自然也跟着回收了。 而java堆与方法区不一样,一个接口的多个实现类需要的内存可能不一样,一个方法中的多个分支需要的内存可能不一样,只有在程序处于运行期间才能知道会创建哪些对象。这部分的内存分配与回收都是动态的,垃圾收集器所关心的也是这部分内存。
用户1665735
2019-02-19
3660
Android使用token维持登陆状态
token(令牌)是一串唯一的字符串,通常由服务端生成,在注册完成时返回给客户端,用来标识此用户,客户端将此字符串存储在本地。在以后的网络请求时,客户端先查询本地的token,如果有则直接使用此令牌进行网络请求,没有则提示未登录,转到登陆注册界面。 此外,还可以在服务端或者客户端添加过期判别机制。
用户1665735
2019-02-19
2.1K0
LeetCode349 Intersection of Two Arrays
Given two arrays, write a function to compute their intersection. Example: Given nums1 = [1, 2, 2, 1], nums2 = [2, 2], return [2]. Note: Each element in the result must be unique. The result can be in any order. 即给两个数组,寻找在两个数组中都存在的数字,要求结果中的数字唯一,且没有顺序要求。
用户1665735
2019-02-19
3350
LeetCode387 First Unique Character in a String
Given a string, find the first non-repeating character in it and return it’s index. If it doesn’t exist, return -1.
用户1665735
2019-02-19
2770
LeetCode242 Valid Anagram
Given two strings s and t, write a function to determine if t is an anagram of s.
用户1665735
2019-02-19
4040
JVM学习笔记——java内存模型与线程(1)
多任务处理出现的重要原因是计算机的运算速度与存储及通信子系统的速度差距太大,大量的时间花费在磁盘I/O,数据库访问或者数据库访问上。除了充分利用计算机处理器的能力外,一个服务端同时对多个客户端提供服务则是另一个更具体的并发应用场景,对于计算量相同的,程序并发协调的越有条不紊,效率自然就高,反之线程之间频繁的阻塞甚至死锁,将会大大降低程序的并发能力。
用户1665735
2019-02-19
4440
JVM学习笔记——垃圾收集器与内存分配策略(2)
java虚拟机规范中并没有对垃圾收集器如何实现有任何规定,因此,不同的厂商,不同版本的虚拟机所提供的垃圾收集器可能会有很大差别,这里只讨论基于JDK1.7之后的HotSpot虚拟机。这个虚拟机包括的收集器如下图所示:
用户1665735
2019-02-19
4790
LeetCode169 Majority Element
Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋ times.
用户1665735
2019-02-19
3640
JVM学习笔记——java内存模型与线程(2)
并发不一定要依赖多线程(如PHP中很常见的多进程并发),但是在Java里面谈论并发,大多数都与线程脱不开关系。
用户1665735
2019-02-19
6110
JVM学习笔记——线程安全与锁优化
定义:当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象是线程安全的。
用户1665735
2019-02-19
3490
leetcode538 Convert BST to Greater Tree
题目 Given a Binary Search Tree (BST), convert it to a Greater Tree such that every key of the original BST is changed to the original key plus sum of all keys greater than the original key in BST. Example: Input: The root of a Binary Search Tree like this:
用户1665735
2018-06-21
4120
leetcode110 Balanced Binary Tree
题目 Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every node never differ by more than 1. 一棵平衡二叉树即一棵二叉树的所有节点的左右子树的高度差不超过1. 解题思
用户1665735
2018-06-20
4190
mahout学习之推荐算法
推荐的定义 推荐算法可以分为三大类,基于用户的,基于物品的和基于内容的,前两者均属于协同过滤的范畴,仅仅通过用户与物品之间的关系进行推荐,无需了解物品自身的属性。而几乎内容的推荐技术很有用,但是必须与特定领域相结合,比如推荐一本书就必须了解书的属性,作者,颜色,内容等等。但是这些知识无法转移到其他领域,比如基于内容的图书推荐就对推荐哪道菜比较好吃毫无用处。 所有mahout对基于内容的推荐涉及很少。 基于用户的推荐 算法 基于用户的推荐算法来源与对相似用户爱好的总结,一般过程如下: for (用户u尚未
用户1665735
2018-06-20
1.5K0
mahout学习之聚类(1)——向量的引入与距离测度
聚类的基本概念 聚类就是将一个给定的文档集中的相似项目分成不同簇的过程,可以将簇看作一组簇内相似而簇间有别的项目的集合。 对文档集的聚类涉及以下三件事: 1. 一个算法:将文档集阻止到一起的算法 2. 相似性与不相似的概念 3. 停止的条件 聚类数据的表示 mahout将输入数据以向量的形式保存,在机器学习领域,向量指一个有序的数列,有多个维度,每个维度都有一个值。比如在二维空间,一个坐标就是一个向量。 将数据转换为向量 在mahout中,向量被实现为三个不同的类来针对不同的场景: 1.
用户1665735
2018-06-20
1.1K0
leetcode118 Pascal's Triangle
题目 Given numRows, generate the first numRows of Pascal’s triangle. For example, given numRows = 5, Return [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ] 生成给定行数的帕斯卡三角形。 解题思路 利用帕斯卡三角形的性质即可很简单的解决。 性质:第n行的第1个数为1,第二个数为1×(n-1),第三个数为1×(n-1)×(n
用户1665735
2018-06-20
3960
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档