[置顶] 程序员应该关注的一些事儿

英文原文:Things a Software Developer Must Invest In在下面这些事情中付出你的时间和精力,然后期待着好的结果吧。0.  关注你的健康毫无疑问,软件开发是一项最需要久坐的工作之一,每天在电脑前要坐 8 到 16 个小时,中间几乎没有休息,这就很容易长肉。而肥胖很很可能会引起其它的疾病,心脏病就是其中一种严重的疾病。当然,你可以通过一些锻炼避免它,比如花点儿钱去...
阅读(5097) 评论(0)

[置顶] 10年资深猎头揭露:他们为什么能年薪百万

360总裁周鸿祎微博推荐语:网络上有一篇文章很流行,《10年资深猎头:他们为什么年薪百万?》作者不详,但我觉得是牛人。用薪酬判断一个人价值,俗点,但却是一个通世标准。价值高的人,眼光和能力必有高人之处。古语说,锥刺囊中。但锥子是磨出来的。清明小长假,建议大家抽空看一看,想一想,转一转。   10年资深猎头揭露:他们为什么能年薪百万!?   --摘自网络   1、解决问题时的逆向思维能力   面对工...
阅读(3597) 评论(0)

[置顶] 百度员工离职总结:资质平庸的人该怎么办?引人深思!

版权信息|作者:泰然野孤禅 来源:第一职场网公众号天赋秉异的人永远是少数,剩下的都是资质平庸的芸芸众生。相信即使只是普通人,也有一颗不甘于平庸的心。那么资质平庸的人该如何在职场上做出一番成就呢?其实以大多数人的努力程度之低,根本轮不到拼天赋。你需要的是比别人更加熟悉职场的规则、遵守规则、利用规则,这个过程也是“被社会与职场的规律驯化”的过程。“被驯化”是无法避免的,只有熟悉“游戏规则”,才能更好地...
阅读(3251) 评论(1)

[置顶] 【PM】信息化系统软件开发流程

软件开发生命周期   建议采用迭代方式,即详细设计->测试的迭代,概要设计阶段会提取出所有需要开发的功能点,这些功能点将会按照优先级被划分为3-4个阶段,每个迭代阶段都会进行详细设计、编码和测试,然后与用户见面进行修正。 所有迭代过程结束之后,再进入整体集成测试、实施以及最后的维护阶段。  1 需求调研和分析          最终出具《需求调研报告》。需求调研步骤一览:...
阅读(1360) 评论(0)

[置顶] 【PM】软件项目管理流程和方法

即将迎来自己人生中第一份软件项目管理工作,先搜集相关知识整理出一个我决定采用的软件项目管理方法,在实践的同时慢慢完善。看到这篇文章并且有自己的经验和见解的大虾欢迎指正和交流,我们要做的这个是企业信息化管理软件 转载请注明出处:jiq•钦's technical Blog 项目管理流程 需求调研阶段 n  立项和可行性分析 n  需求收集、整理 深入一线和用户交流,获取最原始需求...
阅读(1407) 评论(0)

[置顶] 分布式注册中心Overview

转载请注明出处:jiq•钦's technical Blog 版权所有 author by 季义钦 一、 动机 当前我们已经全面进入到分布式应用时代,后端已经开始全面服务化,根据职责拆分为多个子系统,并且以廉价服务器集群进行支撑。     但是在这样一种架构下:   1、 减轻配置灾难: 服务、网站、FTP服务器、数据库、公共组件等资源的配置信息,以及一些全局的系统配置参数...
阅读(2654) 评论(5)

[置顶] 客户端代理架构图分享

下面是我设计的一个客户端代理的架构图,主要完成以下功能: 1、异步消息通知; 2、耗时任务处理; 在这个架构中包括注册中心,用于服务的动态注册和发现,以及配置信息的管理。...
阅读(2062) 评论(0)

Ubuntu下Eclipse无法添加Tomcat7解决方法

Ubuntu(Linux)下在eclipse中add一个tomcatserver时发现tomcat7无法选择,但是该tomcat已经在eclipse 的server->runtime environment总配置了,这是为什么呢?可能有两个原因:1 当前用户没有针对tomcat目录的执行权限2 该tomcat本身在Terminal中就无法正常启动,比如因为无法找到JAVA_HOME,JRE_HOM...
阅读(3137) 评论(0)

Web服务器份额排行榜

根据W3Techs最新公布的数据,Apache依然是一哥,但Nginx已崭露头角,目前在Web服务器领域有了一定的地位。 在排名前1000的网站中,Nginx占据了将近三分之一的席位(29.1%),已经取代了IIS(仅为12.7%)第二名的位置。当然,Apache还是当之无愧的老大,占39.1%。这表明,大型网站更愿意使用开源的web服务器。Google服务器也有8.2%的份额。  在排名前100...
阅读(4147) 评论(1)

JVM:类加载器之双亲委派模型

虚拟机中加载类需要经历“加载、验证、准备、解析和初始化”五个阶段。其中加载阶段是“通过一个类的全限定名来获取描述此类的二进制字节流”,实现这个动作的代码模块称为“类加载器”。(一)三种系统提供的类加载器JVM类加载器分为两类,一类是启动类加载器BootStrap ClassLoader,由C++语言实现,是JVM的一部分,一类是其他类加载器,由Java语言实现,独立于虚拟机外部,并且都继承自抽象类...
阅读(5964) 评论(0)

Java并发:主线程等待多个子线程执行完才继续执行

主线程等待多个子线程执行完才继续执行,以下是我能想到的几种方法,欢迎讨论、指正。1.闭锁CountDownLatch闭锁是典型的等待事件发生的同步工具类,将闭锁的初始值设置为与子线程数目相同,每个子线程执行完成都调用CountDown()方法,主线程调用await()方法等待计数值变为零之后恢复继续执行。 2.线程间同步方法假设有N个子线程,每个子线程执行完成都将一个全局的原子变量加1,待某个线程...
阅读(7472) 评论(0)

Java并发:等待事件发生后所有线程继续执行

等待某一个指定的事件发生后,才让多个等待的线程继续执行,以下是我能想到的几个方法,欢迎讨论、指正。1.闭锁CountDownLatch闭锁是典型的等待事件发生的同步工具类,将闭锁的初始值设置1,所有线程调用await方法等待,当事件发生时调用countDown将闭锁值减为0,则所有await等待闭锁的线程得以继续执行。 2.阻塞队列BlockingQueue所有等待事件的线程尝试从空的阻塞队列获取...
阅读(4993) 评论(0)

Java IO:BIO和NIO区别及各自应用场景

引言BIO:同步阻塞式IO,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,当然可以通过线程池机制改善。NIO:同步非阻塞式IO,服务器实现模式为一个请求一个线程,即客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请求时才启动一个线程进行处理。下面通过一个例子解释两者区别:假设当前服务...
阅读(7683) 评论(0)

RHEL7安装部署Tomcat7

文章说明:分布式注册中心(链接)需要安装的组件包含两个部分:1、注册中心服务(Zookeeper)2、网站(Tomcat服务器) 此文档摘自分布式注册中心安装部署的Part-2安装环境:[root@localhost etc]# cat/etc/redhat-release RedHat Enterprise Linux Server release 7.0 (Maipo)[root@localh...
阅读(7322) 评论(0)

RHEL7安装部署ZooKeeper

安装环境:[root@localhost etc]# cat/etc/redhat-release RedHat Enterprise Linux Server release 7.0 (Maipo)[root@localhost etc]# uname -aLinuxlocalhost.localdomain 3.10.0-123.el7.x86_64 #1 SMP Mon May 5 11:1...
阅读(6824) 评论(0)

RHEL7安装部署RabbitMQ

安装环境: RHEL(RedHat Enterprise Linux 7),预计CentOS也一样一 安装RabbitMQ步骤1:安装RPM包:rpm -ivh erlang-18.2-1.el7.centos.x86_64.rpmrpm -ivh rabbitmq-server-3.2.4-1.noarch.rpm步骤2:把端口全部打开:firewall-cmd --add-port=25672...
阅读(7394) 评论(0)

Java并发:多线程和java.util.concurrent并发包总结

引言前面已经针对Java多线程框架中具体的点介绍了很多了,现在是需要一个概括性总结的时候了,正好从网上找到一张描述java.util.concurrent包组成结构的类图,正好可以对java多线程有一个概览性总结。以下图片转自:这里...
阅读(5178) 评论(0)

JVM:内存监视手段及各区域内存溢出解决

引言本文仅关注一些常见的虚拟机内存监视手段,以及JVM运行时数据区各个部分内存溢出的发生和对应的解决方案,总体来说属于概括性总结,涉及相对不是很深入,目的是让自己和其它初学者有一个框架性、概念性的了解,当遇到问题时有迹可循、不至于不知所措。一、虚拟机内存监视手段虚拟机常出现的问题包括:内存泄露、内存溢出、频繁GC导致性能下降等,导致这些问题的原因可以通过下面虚拟机内存监视手段来进行分析,具体实施时...
阅读(7359) 评论(2)

JVM:垃圾回收机制和调优手段

我们都知道JVM内存由几个部分组成:堆、方法区、栈、程序计数器、本地方法栈JVM垃圾回收仅仅针对公共内存区域即:堆和方法区进行。本文主要讨论两点,一是垃圾回收策略,二是调优的方法。一、垃圾回收机制1.1 分代管理将堆和方法区按照对象不同年龄进行分代:u  堆中会频繁创建对象,基于一种分代的思想,按照对象存活时间将堆划分为新生代和旧生代两部分,我们不能一次垃圾回收新生代存活的对象就放入旧生代,而是要...
阅读(11354) 评论(3)

Java基础:运行时异常和非运行时异常

1.Java异常机制Java把异常当做对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。Java中的异常分为两大类:错误Error和异常Exception,Java异常体系结构如下图所示:2.ThrowableThrowable类是所有异常或错误的超类,它有两个子类:Error和Exception,分别表示错误和异常。其中异常Exception分为运行时异常(Ru...
阅读(4713) 评论(0)

JVM:class加载时机及两种显示加载的区别

从下面代码可以看出来几点:1、 class文件的加载的时机显示加载:         调用ClassLoader.loadClass(className)与Class.forName(className)隐式加载:         创建类对象         使用类的静态域         创建子类对象         使用子类的静态域 2、 两种显示加载class文件到JVM的区别Class.f...
阅读(4268) 评论(0)

Java基础:String不可变性和final修饰

String的不可变性Java规定String是不可变的(immutable),其实这个不可变具备两层含义:1 内容不可变任何看起来修改它们的操作,实际上都是重新new出一个对象。String s = new String("111"); String newS = s; newS = "dsfsd"; System.out.println(s); //111如果不能做到内容不可变,在两个引用同...
阅读(3625) 评论(0)

UML类图符号解释

在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)         1. 泛化(Generalization)        【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征...
阅读(2704) 评论(0)

设计模式类图概览

把常见的设计模式类图放在这里,方便查阅!!!...
阅读(2761) 评论(0)
279条 共14页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:498676次
    • 积分:7331
    • 等级:
    • 排名:第2786名
    • 原创:215篇
    • 转载:53篇
    • 译文:13篇
    • 评论:54条
    博客初衷
    本博客用于个人学习过程的记录和分享!!!联系方式:jiq408694711@163.com
    个人简介
    男,88年生,云南人,南京大学计算机系工学硕士,研究方向是嵌入式软件工程,目前在南京一所大型研究院对外研发中心任职研发人员兼项目负责人,2013年8月入职。✔主要专注于分布式服务架构的研究,此外对Java服务端开发较为感兴趣。
    最新评论