自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (4)
  • 收藏
  • 关注

原创 一条咸鱼的校招之路

一条咸鱼的校招之路一条咸鱼的校招之路总结又是一年一度的秋招,作为某不知名211高校的菜鸟渣渣而言,想进一家靠谱点的大公司真是很艰难的。​ 梦想总是要有的,万一实现了呢?抱着试一试的心态网申了十几家公司,目前为止已经参加了八家公司的笔试,不知道还有几家是不是被简历筛刷掉了。分享下这几家的心得,做个总结,同时也分享下经验:京东(Java开发工程师)参加的第一家笔试,笔试还是挺简单了,基本考的

2017-10-10 09:34:25 525

原创 如何写好一个单例

如何写好一个单例如何写好一个单例什么是单例模式实现一个单例模式基本方法的改进总结什么是单例模式?如果你听说过设计模式,那么肯定知道单例模式,因为单例模式是设计模式中最简单的一种。顾名思义:单例模式就是一个类只有一个实例变量的一种设计模式,通过使用单例模式,可以节约系统的资源开销,避免共享资源的多重占用等优点。什么时候会用: 对于那种经常实例化但是过一会儿就被销毁的对象适合使用单例模式

2017-10-10 09:32:21 4743 1

原创 程序员必备算法——排列组合

程序员必备算法——排列组合程序员必备算法排列组合还记得排列组合吗全排列的实现组合问题总结还记得排列组合吗?在高中的时候最常接触的莫过于排列组合了,毕竟高考必考的嘛。我们先来回忆下这两个的公式是啥:如果看到这个还有一丢丢的印象,说明大家的基础都还不错。那么问题来了,大家都是学计算机的,我们如何用程序去模拟这个过程,从而达到列出所有排列组合的可能呢?全排列的实现暴力求解(不可取,不可取)

2017-10-10 09:31:29 17998 7

原创 微博服务器又炸了,快来看看如何一步步构建高并发的网站

如何构建高并发的网站昨天的微博服务器又炸了,心疼微博三秒钟 。虽然网上各种嘲讽谩骂渣浪的,不过作为程序员细细想想感觉新浪还是很不容易的,毕竟它也没法知道哪个明星突然就出啥事了,面对突如其来的多出好几倍的访问量感觉无论是哪家公司也是没法马上应对的吧。通过这件事,也让笔者认识到了构建一个在高并发环境下依旧高可用的系统是多么的重要,恰好最近一直在看这方面的东西,所以就蹭蹭热度和大家一起分享下。初级阶

2017-10-10 09:30:05 3879

原创 经典算法——动态规划入门实例

title: 经典算法——动态规划入门实例date: 2017-09-06 12:10:33categories: 算法tags: 动态规划算法经典算法——动态规划入门实例经典算法动态规划入门实例神马是动态规划求解最长公共子串求解最大公有子序列总结神马是动态规划专业定义:动态规划的本质,是对问题状态的定义和状态转移方程的定义。通过拆分问题,定义问题状态和状态之间的关系,使得问题能够

2017-09-06 16:36:07 1117

原创 正则表达式

Python的正则表达式Python的正则表达式RE模块贪婪模式正则表达式RE模块普通匹配s = 'ABC\\-001' # Python的字符串,由于\是特殊字符所以必须转义s = r'ABC\-001' # Python的字符串,加上r表示不用转义test = '用户输入的字符串'if re.match(r'正则表达式', test): print('ok')else:

2017-08-22 09:47:17 241

原创 动态感知服务器上下线

通过zookeeper完成动态感知分布式服务器上下线的功能通过zookeeper完成动态感知分布式服务器上下线的功能业务描述服务器端的实现客户端的实现测试业务描述某分布式系统中,主节点可以有多台,可以动态上下线,任意一台客户端都能实时感知到主节点服务器的上下线。当主节点下线的时候,客户端会收到通知,并更新目前在还在线的主节点host信息,可以防止客户端向已经挂掉的节点进行请求。服务器端的

2017-08-11 10:21:41 578

原创 ZooKeeper入门

zookeeper入门zookeeper入门zookeeper的简介zookeeper的特性zookeeper环境搭建Zookeeper的数据管理功能通过客户端对元数据进行管理zookeeper的简介顾名思义,zookeeper就是动物园管理员的意思,Zookeeper是一个分布式协调服务;就是为用户的分布式应用程序提供协调服务。其主要具有一下特点:zookeeper是为别的分布式程序服

2017-08-11 10:20:52 307

原创 用python撸出一个静态web服务器

python搭建简单的静态web服务器python搭建简单的静态web服务器储备知识web服务器基本原理大致流程完整代码储备知识一丢丢的python(io和多线程的知识)一丢丢的http协议一丢丢的tcp/ip协议(当然不了解也没关系)一丢丢的正则表达式知识web服务器基本原理当在浏览器的地址栏输入一个ip与端口之后,浏览器就会通过tcp/ip协议与相应的主机端口进程建立联系。经

2017-08-11 10:17:50 451

原创 基于netty的rpc框架

基于netty的rpc框架基于netty的rpc框架如果你已经对以下东东有所了解那么你就可以完成一个rpc框架了神马是rpc实现思路代码具体实现总结如果你已经对以下东东有所了解,那么你就可以完成一个rpc框架了Java的反射技术java的动态代理机制基于nio的框架netty全世界最好的框架-springjava的序列化神马是rpc?在这个大数据时代,很多公司的服务器都是以集

2017-08-11 10:02:08 446 1

原创 redis入门

Redis入门Redis入门简介安装基本数据类型的操作简介​ Redis是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能,可扩展的Web应用程序。其主要特点有: Redis将其数据库完全保存在内存中,仅使用磁盘进行持久化。(内存数据库) 与其它键值数据存储相比,Redis有一组相对丰富的数据类型。 Redis可以将数据复制到任意数量的从机中。 ​

2017-05-11 13:26:30 415

原创 Jvm的配置参数

Jvm的配置参数Trace跟踪参数-verbose:gc-XX:+PrintGC #打印Gc的简要信息-XX:+PrintGCDetails #打印GC详细信息,包括各个代的具体使用情况-XX:+PrintGCTimeStamps #打印GC详细信息,包括时间戳-Xloggc:d://gc.log #GC日志重定向到d盘下的gc.log堆的分配参数-Xmx50m #最大堆内存

2017-05-09 22:51:27 399

原创 Jvm运行机制

java运行时内存管理Java运行时的数据区 各个部分的数据简介程序计数器(线程私有)是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。Java虚拟机栈(线程私有,生命周期与线程相同)由一系列栈帧构成,用于存储局部变量表、操作

2017-05-09 22:50:23 405

原创 图的遍历

图神马是图简单来说,图就是由一些小圆点(称为顶点)和连接这些小圆点的直线(称为边)组成。对于一个图,我们最常见的需要就是遍历一个图,通过这些边到达每一个顶点。通常我们有两种方式去遍历所有的顶点,一种是深度优先遍历,另一种是广度优先遍历。(对于深度与广度可以参考之前的文章)。图的表示方法在计算机语言中我们通常可以通过一个二维数组表示一个图。如同下图:图中的1表示有边可以联通两个顶点,∞表示没有边联

2017-05-03 22:47:14 307

原创 广度优先算法(BFS)

广度优先算法基本思想它的思想是从一个顶点V0开始,辐射状地优先遍历其周围较广的区域。搜索过程:先访问节点v;再依次访问与v相邻的节点;访问这些节点之后,再访问与之相邻的节点。与深度优先搜索不同,其先遍历周围的是周围节点。常用于寻找最短路径的解决方案。基本模型(通过队列完成)起始点入队;while(队列不为空){ 头结点出队; for(遍历周围的子节点) { 若它是所求的目标状态

2017-05-03 19:50:35 553

原创 #深度优先算法(DFS)

深度优先算法基本思想从一个顶点V0开始,沿着一条路一直走到底,如果发现不能到达目标解,那就返回到上一个节点,然后从另一条路开始走到底,这种尽量往深处走的概念即是深度优先的概念。为了实现深度优先搜索,首先选择一个起始顶点并需要遵守三个规则:如果可能,访问一个邻接的未访问顶点,标记它,并把它放入栈中。当不能执行规则1时,如果栈不空,就从栈中弹出一个顶点。如果不能执行规则1和规则2,就完成了整个搜索

2017-05-03 19:49:33 328

原创 常用排序算法的Java实现

(冒泡排序)大学里面最早接触的一种排序基本原理 * 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 * 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 * 针对所有的元素重复以上的步骤,除了最后一个。* 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 代码实现 public static void

2017-05-03 10:34:04 240

原创 理解Java的类型信息

Java的类型信息理解RTTI(运行时类型信息)RTTI原本是C++里面的名词,在Java的官方文档中好像没有出现过这个名词,其在java界为人熟知主要还是因为B大 的《Thinking In Java》吧,毕竟在java界如同圣经般的存在。那么其具体是什么意思呢?其主要应用还是java的多多态与反射机制。举个栗子:public class Animal extends Object{publ

2017-05-02 13:09:36 358

原创 深入理解String与StringBuilder

深入理解String与StringBuilder对于这两者的区别,相信大多数学过java的朋友都能回答出来 String是不可变的字符串 StringBuilder是可变的字符串然后呢?StringBuilder为什么是可变的,我们应该在什么时候使用StringBuilder,什么时候使用String呢?首先我们需要了解一下为什么需要StringBuilder,其实我们使用Str

2017-04-28 13:31:12 486

原创 Java常用容器

迭代器神马是迭代器? 迭代器是一个对象,它的工作是遍历并选择序列中的对象,而客户端程序员不需要关系其底层的结构,是一种轻量级的对象。Java中所有的容器对象都实现了Iterable接口,该接口只有一个方法。 Iterator<T> iterator() // 返回一个在一组 T 类型的元素上进行迭代的迭代器。 这里返回的Iterator对象就是迭代器。其实际也是一个接

2017-04-28 12:07:06 334

原创 求解最大子数组

求解最大子数组问题描述,神马是最大子数组 假定我们一个已知的数组为: int numbers[]={1,2,6,3,-5,-7,1,-6,8}; 现在我们需要求解其中某几个数之和最大的一段子数组,如果不考虑方法的复杂性,首先我们可以考虑暴力求解,即将所有可能的组合进行排列组合。那么我们可以得到n*(n-1)/2(不考虑顺序的排列组合)种可能,其复杂度为O(n^2)。为求得更

2017-04-18 19:14:13 273

苏州大学操作系统实验三进程调度

苏州大学操作系统实验三进程调度

2016-12-12

Thinking in java高清文档

Thinking in java高清文档

2016-12-12

java反编译工具

java反编译工具,直接将class文件拖入即可获得java文件,亲测好用

2016-12-12

苏州大学操作系统实验

苏州大学操作系统任务管理器实验代码

2016-12-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除