- 博客(1122)
- 资源 (129)
- 收藏
- 关注
翻译 HotSpot对象揭秘
目录对象的内存模型 对象头实例数据对齐补充对象的创建过程 类加载检查为新生对象分配内存初始化对象的访问方式 句柄访问方式直接指针访问方式HotSpot 虚拟机对象探秘对象的内存模型在 HotSpot 虚拟机中,对象在内存中存储的布局分为3块区域:对象头实例数据对齐补充对象头对象头记录了对象在运行过程中所需要使用的一些数据:...
2018-07-10 14:34:14 300
翻译 JVM内存结构
目录程序计数器(PC 寄存器) 程序计数器的作用程序计数器的特点Java 虚拟机栈(Java 栈) Java 虚拟机栈的特点本地方法栈堆 堆的特点方法区 方法区的特点运行时常量池直接内存 直接内存与堆内存比较JVM 内存模型Java 虚拟机的内存空间分为5个部分:程序计数器Java 虚拟机栈本地方法栈堆方法区程序计数器(PC ...
2018-07-10 14:32:16 295
翻译 bootstrap和jquery优点和区别
一、jQuery的优点jquery是JavaScript库,能够极大地简化JavaScript编程,能够更方便的处理DOM操作和进行Ajax交互 1、轻量级 JQuery非常轻巧 2、强大的选择器 JQuery允许开发者使用从CSS1到CSS3几乎所有的选择器,以及JQuery独创的高级而且复杂的选择器 3、出色的DOM操作的封装 JQuery封装了大量常用的DOM操作,使开发者在...
2018-07-10 10:12:37 5676
翻译 ArrayList,HashMap,LinkedList 初始化大小和 扩容机制
1.ArrayList ArrayList 初始化大小是 10 (如果你知道你的arrayList 会达到多少容量,可以在初始化的时候就指定,能节省扩容的性能开支) 扩容点规则是,新增的时候发现容量不够用了,就去扩容 扩容大小规则是,扩容后的大小= 原始大小*1.5。2.linkedList linkedList 是一个双向链表,没有初始化大小,也没有扩容的机制,就是一直在前面或者...
2018-07-09 17:51:38 9691 1
翻译 标准Http协议支持六种请求方法
一、、GET、POST、PUT、Delete、HEAD、Options但其实我们大部分情况下只用到了GET和POST。如果想设计一个符合RESTful规范的web应用程序,则这六种方法都会用到。不过即使暂时不想涉及REST,了解这六种方法的本质仍然是很有作用的。大家将会发现,原来web也是很简洁明了的。下面依次说明这六种方法。1,GET:GET可以说是最常见的了,它本质就是发送一个请求来取...
2018-07-08 23:58:42 684
原创 Mybatis和hibernate区别
一、Hibernate 框架Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,建立对象与数据库表的映射。是一个全自动的、完全面向对象的持久层框架。二、Mybatis框架Mybatis是一个开源对象关系映射框架,原名:ibatis,2010年由谷歌接管以后更名。是一个半自动化的持久层框架。三、二者区别Hibernate优势 (1)Hi...
2018-07-07 18:17:00 410
转载 剑指Offer66题之每日6题 - 总结、目录
原文剑指Offer每日6题系列终于在今天全部完成了,从2017年12月27日到2018年2月27日,历时两个月的写作,其中绝大部分的时间不是花在做题上,而是花在写作上,这个系列不适合大神,大牛,这个系列是我专门为那些初识算法,数据结构的同学和对基础算法,基本数据结构不熟练的同学而写的。里面所有的博文,我尽量避开生僻的一些概念,尽量用生活中的语言和例子来解释一些原理,因此在学术上可能不太严谨...
2018-07-06 09:14:59 572
转载 大公司github官网整理链接
转载链接:https://segmentfault.com/a/11900000094752481.Google1.Google https://github.com/google 2.Google Samples https://github.com/googlesamples 3.Google Codelabs https://github.com/googlecode… ...
2018-07-05 08:50:22 1977
翻译 学会使用Docker和Jenkins
一、Docker简介 Docker是一个开源的容器引擎,它有助于更快地交付应用。 Docker可将应用程序和基础设施层隔离,并且能将基础设施当作程序一样进行管理。使用 Docker可更快地打包、测试以及部署应用程序,并可以缩短从编写到部署运行代码的周期。Docker的优点如下:1、简化程序Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 L...
2018-07-04 18:00:44 1595
转载 机器学习工程师层级
LEVEL1:能读懂论文 这是一个最最基本的层次了,如果没办法读懂论文的话,任何工作几乎都谈不到开展。市面上的任何书籍,不论是中文的还是外文的,都在讲原理层面的事情,要想看着这些书籍来直接做项目是非常困难的事情。而对于拿到一个工程需求的时候,不论这是一个分解完的需求还是一个分解前的粗需求,第一步几乎都是要到网上去找文献——看看目前为止,世界上其它的人有没有涉足过这方面的研究,并且有一些理论成...
2018-07-04 16:36:56 545
翻译 拦截器和过滤器的区别
过滤器和拦截器的区别: ①拦截器是基于java的反射机制的,而过滤器是基于函数回调。 ②拦截器不依赖与servlet容器,过滤器依赖与servlet容器。 ③拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。 ④拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问。 ⑤在action的生命周期中,拦截器可以多次被调用,而过滤器只能在...
2018-07-03 10:15:25 378
原创 中国十大技术社区
一、csdn 二、博客园 三、SegmentFault 四、V2EX 五、开源中国 六、W3School 七、51CTO 八、ChinaUnix.net 九、伯乐在线 十、掘金
2018-07-02 09:08:00 3939 1
原创 找出最长连续子序列
import java.util.*;public class Solution { //方法一:时间复杂度为O(nlog(n)) public int longestConsecutive(int[] num) { if(num==null||num.length==0) return 0; Arrays.sort(...
2018-06-30 17:18:59 1936
翻译 Java中常用WEB服务器和应用服务器
一、web服务器和应用服务器的区别Web服务器传送页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods)。确切一点,你可以说:Web服务器专门处理HTTP请求(request),但是应用程序服务器是通过很多协议来为应用程序提供(serves)商业逻辑(business logic)。 (1)应用服务器处理业务逻辑,web服务器则主要是让客户...
2018-06-29 15:20:31 21082 1
翻译 软件开发的流程和常用模式
一、软件开发一般分为五个阶段:1.问题的定义及规划(可行性分析) 此阶段是软件开发与需求放共同讨论,主要确定软件的开发目标及其可行性。文档为可行性研究报告和项目开发计划2.需求分析 在确定软件开发可行性的情况下,对软件需要实现的各个功能进行详细需求分析。文档为软件需求说明书,数据要求说明书3.软件设计(概要设计和详细设计) 此阶段中要根据需求分析的结果,对整个软件系统进行...
2018-06-28 09:43:10 2498
翻译 求二叉树的各条路径和
import java.util.Stack; //定义一个二叉树的节点 class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } }public class Solution { public int s...
2018-06-27 23:48:04 1073
原创 常见的java面试知识点
Java 面试随着时间的改变而改变。在过去的日子里,当你知道 String 和 StringBuilder 的区别(String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象。因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不要用 Stri...
2018-06-26 22:05:00 2501
翻译 找出满足条件的圈
public class Solution { public void DFS(char[][]board,int row,int col){ if(row<0||row>(board.length-1)||col<0||col>(board[0].length-1)) return; if(board[row][...
2018-06-26 21:48:11 441
转载 2018年github上热门项目
developer-roadmap-chinese image.png 项目简介: 2018年web程序员路线中文版, 这个仓库里包含了一些前端,后端,服务器开发人员的路线图,可以参考学习��地址https://github.com/goodjack/developer-roadmap-chineseFront-End-Design-Checklist项目简介: 前...
2018-06-25 09:00:56 942
翻译 JVM堆的划分
JVM堆内存分为2块:Permanent Space 和 Heap Space。Permanent 即 持久代(Permanent Generation),主要存放的是Java类定义信息,与垃圾收集器要收集的Java对象关系不大。 Heap = { Old + NEW = {Eden, from, to} },Old 即 年老代(Old Generation),New 即 年轻代(Young...
2018-06-23 16:09:59 1007
转载 RPC之消息中间件
一、RPC**RPC(Remote Procedure Call)—远程过程调用 ,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。**RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发分布式程序就像开发本地程序一样简单。 RPC采用客户端(服务调用方)/服务器端(服务...
2018-06-23 10:15:31 5861
转载 源码如何阅读?
一、昨夜西风凋碧树,独上高楼,望尽天涯路想把源码搞懂,吃透,首先得登高望远,瞰察路径,明确目标与方向,了解源码的概貌。所以有些准备工作必须得做。阅读源码之前,需要有一定的技术储备。 (1)比如设计模式,在很多Java源码中几乎就是标配,尤其是这几个:模板方法,单例,观察者,工厂方法,代理,策略,装饰者。(2)再比如阅读Spring源码,肯定得先了解IoC是怎么回事,AOP的实现方式,CG...
2018-06-22 00:02:08 1388 5
翻译 java核心技术
1、谈谈你对 Java 平台的理解?“Java 是解释执行”,这句话正确吗?考点分析:对于这类笼统的问题,你需要尽量表现出自己的思维深入并系统化,Java 知识理解得也比较全面,一定要避免让面试官觉得你是个“知其然不知其所以然”的人。毕竟明白基本组成和机制,是日常工作中进行问题诊断或者性能调优等很多事情的基础,相信没有招聘方会不喜欢“热爱学习和思考”的面试者。回归正题,对于 Jav...
2018-06-15 12:39:05 1150 2
原创 Spring IOC、AOP的理解和实现的原理
一、 IOC:反转控制 ,创建对象的方式反转了,从自己创建变成了spring容器DI(具体的技术):依赖注入,将必须的属性注入到对象当中,是实现ioc思想必须条件。 二、AOP:面向切面编程(横向重复、纵向抽取) ...
2018-06-14 23:53:03 9120
原创 将相连的圈变形
import java.util.ArrayList;public class Solution { class Point{ int x; int y; public Point(int i,int j){ x=i; y=j; } } public void...
2018-06-13 23:03:38 267
翻译 获得一个字符串的所有回文子串集合
import java.util.ArrayList;public class Solution { //获得一个字符串的所有回文子串集合 public ArrayList<ArrayList<String>> partition(String s) { ArrayList<ArrayList<String>&g...
2018-06-13 00:27:52 4708
转载 优秀程序员的十个习惯
在这个世界上,有数百万的人热衷于软件开发,他们有很多名字,如:软件工程师(Software Engineer),程序员(Programmer),编码人(Coder),开发人员(Developer)。经过一段时间后,这些人也许能够成为一个优秀的编码人员,他们会非常熟悉如何用计算机语言来完成自己的工作。但是,如果你要成为一个优秀的程序员,你还可以需要有几件事你需要注意,如果你能让下面十个条目成为你的习...
2018-06-12 23:26:25 411
翻译 Dubbo架构设计详解
转载出处 参考 Dubbo开源 直到2011年10月27日,阿里巴巴开源了自己的SOA服务化治理方案的核心框架Dubbo,服务治理和SOA的设计理念开始逐渐在国内软件行业中落地,并被广泛应用。Dubbo作为阿里巴巴内部的SOA服务化治理方案的核心框架,在2012年时已经每天为2000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。Dubbo自...
2018-06-10 12:00:12 4563
翻译 字符串最小切割次数,实现获得子串都为回文串
public class Solution { /** 解题思路:动态规划问题(动态规划的题,最主要就是写出状态转移方程)。 dp[i] - 表示子串(0,i)的最小回文切割,则最优解在dp[s.length-1]中。 分几种情况: 1.初始化:当字串s.substring(0,i+1)(包括i位置的字符)是回文时,d...
2018-06-09 23:51:58 1166
原创 二、Spring常用模块解析
一、前言写在前面,spring源码阅读确实耗时耗精力,需要读者耗费大量的时间去完成,所以我想着总结前人(大佬)的总结,在此处做个归档。二、spring剖析(1) 如何阅读源码 (2) spring源码阅读笔记 (3) spring笔记...
2018-06-09 11:53:25 393
原创 一、Spring整体架构
一、Spring是什么? Spring是于2003兴起的一个轻量级的java开源框架,Spring是为了解决企业应用开发的复杂性而创建的,它使用JavaBean来完成以前只可能由EJB完成的事情。二、Spring整体架构 1.Core Container Core Container(核心容器)包含有Core、Beans、Contexts 和 Express...
2018-06-09 10:09:21 1245
翻译 克隆一个无向图
import java.util.ArrayList;import java.util.HashMap;class UndirectedGraphNode { int label; ArrayList<UndirectedGraphNode> neighbors; UndirectedGraphNode(int x) { ...
2018-06-09 00:07:59 342
原创 eclipse开发常用快捷键
(1)注释(1) 一行注释 ctrl+shift+c 多行注释 ctrl+shift+/(2)取消注释 再次ctrl + shift +c ctrl+shift+\(3)搜索 当前文本 Ctrl+F 打开搜索对话框 Ctrl+H 出现在文件中 Ctrl+Shift+U 工作区中的声明 Ctrl+G 工作区中的引用...
2018-06-08 17:56:51 261
转载 汽车是否能围绕一圈行走
public class Solution { //解法一:贪心算法求解 public int canCompleteCircuit(int[] gas, int[] cost) { int total=0,sum=0; int index=-1; for(int i=0;i!=gas.length;i++) ...
2018-06-07 23:32:44 239
翻译 小孩分糖果
public class Solution { public int candy(int[] ratings) { if(ratings==null||ratings.length==0) return 0; if(ratings.length==1) return 1; int[]temp=new int[ra...
2018-06-07 00:26:47 452
转载 数组中出现一次的数
public class Solution { public int singleNumber(int[] A) { if(A==null||A.length==0) return -1; /* ones:出现1次的数 twos:出现2次的数 threes:出现3次...
2018-06-06 22:58:36 223
原创 链表的深拷贝
class RandomListNode { int label; RandomListNode next, random; RandomListNode(int x) { this.label = x; }}public class Solution { public RandomListNode copyRandomList(Random...
2018-06-06 01:14:06 1303
java集合框架
2018-01-31
阿里巴巴Java开发手册
2017-09-25
scrapy爬虫项目
2017-09-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人