- 博客(64)
- 资源 (129)
- 收藏
- 关注
原创 java内存区域与内存溢出异常
一、对象的内存布局: 1. 对象头(Header):包括两部分 (1)用于存储对象自身的运行时数据,如哈希码(HashCode)、GC分代年龄、锁状态标志、线程持有的锁、偏向线程ID、偏向时间戳等 (2)类型指针,即对象指向它的类元数据的指针,虚拟机通过这个指针来确定这个对象是哪个类的实例。 2.实例数据(Instance Data):对
2017-06-28 11:03:19 375
原创 习惯五 知彼解己---移情沟通的原则
知彼解己-------首先寻求去了解对方,然后再争取让对方了解自己。这一原则是进行有效人际交流的关键。 一、移情聆听: 以理解为目的的聆听,要求听者站在说话者的角度理解他们的思维模式和感受。 二、心理空气: 除了物质,人类最大的生存需求源自心理,即被人理解、肯定、认可和欣赏。 三、先诊断,后开方: 四、四种自传式回应:
2017-06-28 09:42:48 3300
转载 Java Web架构知识整理
1.底层Java语言相关的就不说了,首先是JVM的结构和工作原理。比较重要的是Java内存模型,各种GC算法,Classloader的加载原理等。个人对底层的一些东西还算比较了解,所以不过多纠结,实际上程序编译链接过程以及二进制文件的处理还是很值得研究的。JVM监控及调优。作为一个开发人员并不一定需要非常熟悉JVM调优的方法,但如果具备JVM监控及调优的能力,将让你对程序运行状况了如指掌,
2017-06-27 22:22:42 565
原创 习惯四 双赢思维---人际领导的原则
双赢者把生活看作一个合作的舞台,而不是一个角斗场。一般人看事情多非此即彼,非强即弱,非胜即败。其实世界之大,人人都有足够的立足空间,他人之得不必视为自己之失。 不论你是总裁还是门卫,只要已经从独立自主过渡到相互依赖的阶段,你就开始扮演领导角色,影响这他人。 人际交往的六种模式: (1)利人利己(双赢) (2)舍己为人(输 / 赢) (
2017-06-27 13:49:15 2285
原创 人月落地实战体验
《人月神话》这本书讲述了三十年前软件专案管理和经验的书。论述开发人员缺陷: 第一关键: 乐观 第二关键: 人月 (1)人、月之间不能换算,换言之,2个人做5个月完成,不等于说5个人做2个月完成。 (2)在项目后期增加人手,只能使工期进一步推迟; (3)项目越大,单位工作需要的人月越多。 一、
2017-06-26 13:32:53 637
原创 20年后的人月神话
一、 核心观点-----概念完整性和结构师 二、 增量开发模型更佳——渐进地精化三、 人就是一切(或者说,几乎是一切) 现团队质量目前是项目成功最大的决定因素,实际上是下一个次重要因素的4倍。 四、 操作系统世界已经统一了(1) IBM MVS和VM环境(2) DEC VMS环境(3) Unix环境,
2017-06-25 15:50:00 553
原创 《人月神话》的观点:是或非?
我们理解的也好,不理解的也好,描述都应该简短精练。 ---塞缪尔·巴特勒,讽刺诗第1章焦油坑 1.1 编程系统产品(Programming Systems Product)开发的工作量是供个人使用的、独立开发的构件程序的九倍。我估计软件构件产品化引起了3倍工作量,将软件构件整合成完整系统所需要的设计、集成和测试又强加了3倍的工作量,这些高成本的构件在根本上是相互独立的。1.2 编程行业
2017-06-24 22:20:16 471
原创 第十七章 再论"没有银弹"
任何人若想看到一件完美无瑕的作品,他所想的那种作品过去不存在,现在和将来也不会出现。 ------->一、存在银弹 出重用和交互的构件开发是解决软件根本困难的一种方法。部分人认为软件困难来自“编程人员缺乏构建当今软件的技术”。而我认为根本困难是固有的概念复杂性,无论是任何时间,使用任何方法设计和实现软件的功能,它都存在。 二、《没有银弹》提出了全力解决复杂
2017-06-24 15:04:27 629
转载 机器学习项目
1、CDarknet —— 神经网络框架Darknet 是一个用 C 和 CUDA 编写的开源神经网络框架。它快速,易于安装,并支持 CPU 和 GPU 计算。CCV —— 计算机视觉库CCV 是 C-based/Cached/Core Computer Vision Library 的简称, 它是一个现代的计算机视觉库。CCV 是一种以应用驱动的算法库,比如对静
2017-06-24 13:56:53 613
转载 面试总结
重点知识 由于我面试的Java开发工程师,针对于JAVA,需要理解的重点内容有: JVM内存管理机制和垃圾回收机制(基本每次面试都会问,一定要搞得透彻) JVM内存调优(了解是怎么回事,一般做项目过程中使用较多) 设计模式(熟悉常见设计模式的应用场景,会画类图,实在不行背几个也是有用的) 多线程(每次都会问
2017-06-23 21:49:48 357
原创 第十六章 没有银弹 ---软件工程中的根本和次要问题
在未来的十年内,无论是在技术还是管理方法上,都看不出有任何突破性的进步,能够保证在十年内大幅度地提高软件的生产率、可靠性和简洁性。 一、摘要 所有软件根本任务:打造构成抽象软件实体的复杂概念结构 次要任务:使用编程语言表达这些抽象实体,在空间和时间限制下将它们映射成机器语言 二、根本困难 软件开发中困难的
2017-06-23 16:33:16 2176
原创 第一部分 6大设计原则
作为一位技术人员,最基本的品质就是诚实。"知之为知之,不知为不知",自己不懂没有关系,去学,学无止境,但是千万不要贪多,这抓一点,那挖一点,好像什么都懂,其实什么都不懂。中国推崇复合型人才,这是对年轻人的误导。先精一项技术,然后再发散学习,先点后面才是正道。 (1)单一职责原则:一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化
2017-06-22 15:30:09 399
原创 第十五章 另外一面
不了解,就无法真正拥有。 ------------歌德 一、需要什么样的文档 a.使用程序:不同用户需要不同级别的文档 (1)目的 (2)环境 (3)范围
2017-06-22 14:50:31 304
转载 程序人生
1. 哪种人才最紧缺?这次受访的开发者中有将近四分之三竟然都是 web 开发,其次是桌面开发和移动开发占比最高,这个结果其实蛮有意思的,我们一直都说我们已经从 PC 时代过渡到移动时代了,但是移动开发者数量依然是比 web 开发和桌面开发少不少的。这让我联想到了之前的一份互联网趋势调查报告,调查结果是人们对手机的使用时间一直在高速增加,然而 PC 的使用
2017-06-21 22:02:19 483
原创 第十四章 祸起萧墙
带来坏消息的人不受欢迎。 -------------------索福克勒斯 一、里程碑还是沉重的负担 (1)制定进度表:进度表的每一件事被称为"里程碑" 二、其他的部分反正会落后 进取是很多优秀队员和团队不可缺少的心理素质。 PERT技术是关键路径计划的细化。
2017-06-21 21:39:46 346
转载 人脸识别的十个概念
1. 人脸检测“人脸检测(Face Detection)”是检测出图像中人脸所在位置的一项技术。人脸检测算法的输入是一张图片,输出是人脸框坐标序列(0个人脸框或1个人脸框或多个人脸框)。一般情况下,输出的人脸坐标框为一个正朝上的正方形,但也有一些人脸检测技术输出的是正朝上的矩形,或者是带旋转方向的矩形。常见的人脸检测算法基本是一个“扫描”加“判别”的过程,即算法在图像范围内
2017-06-20 17:16:32 2637
原创 人际关系的本质
所谓情感账户,存储的是增进人际关系不可或缺的"信赖",也就是他人与你相处时的一份"安全感"。能够增进情感账户存款的,是礼貌、诚实、仁慈与信用。 情感账户存储的是:人际关系中不可或缺的信任,是人与人相处时的那份安全感。 建立并维持人际关系是一种长期的投资行为。 一、七种主要的投资方式 (1)理解他人:如果你重视一个人,那么你必须同样重视他所重视的事情。 (
2017-06-20 15:35:54 1041
原创 第十三章 整体部分
一、剔除bug的设计:关键的工作是产品的定义 细致的功能定义、仔细的规格说明、规范化的功能描述说明以及这些方法的措施,将大大减少系统中bug的数量。 (1)测试规格说明 (2)自上而下的设计 体系结构设计、设计实现、物理编码 (3)结构化编程 二、构件单元测试 (1)本机调试 (2)内存转储 (3)快照 (4
2017-06-20 10:57:58 395
原创 习惯三 要事第一---自我管理的原则
有效管理是把握重点的管理,它把最重要的事放在第一位。由领导决定什么是重点后,再靠自制力来掌握重点,时刻把它们放在第一位,以免被感觉、情绪或冲动所左右。 一、独立意志:有效管理的先决条件 >发现成功的决定因素并非辛勤的工作、不凡的运气和良好的人际关系,而是要事第一:先做最重要的事. 二、四代时间管理理论的演进 (1)第一代 利用 便条
2017-06-19 16:37:23 2150
原创 第十二章 干将莫邪
巧匠因为他的工具而出名 ---谚语 一、目标机器 目标机器:需要若干操作员和一两个系统 编程人员,以保证机器上的标准支持是及时更新和实时可用的。 二、辅助机器和数据服务 (1)仿真装置 (2)编译器和汇编平台 (3)程序库和管理 (4)
2017-06-19 15:29:10 456
转载 十大 Node.js 的 Web 框架
1、Node.js 开发框架 Sail.jsSails.js 就像是 Node.js 平台上的 Rails 框架。这是一个可靠可伸缩的开发框架,面向服务的架构,提供数据驱动的 API 集合。用来开发多玩家游戏、聊天应用和实时面板引用非常方便,也可用于开发企业级 Node.js 应用。Sails.js 基于 Node.js, Connect, Express 和 Socket.io 构建。
2017-06-19 08:47:39 29813
转载 移动互联网人数占据分析
数据分析根据公众号后台用户人员的属性分析,目前按省份排名前十名分别是:广东省,北京市,上海市,浙江省,江苏省,山东省,四川省,湖北省,福建省,河南省。具体人数分布数的占比如下:但从省份的排名,移动互联网发展比较好的省份确实广东最好,主要是广东有三个比较好的城市,那就是深圳,广州,珠海,虽然广东省排第一,但是从人数分布占比来看,整个广东和北京市其实差不多。所以互联网发展的最好,最
2017-06-18 22:39:31 834
转载 高效能人士的七个习惯总结
习惯一:积极主动习惯二:以始为终习惯三:要事第一习惯四:双赢思维 习惯五:知己知彼 习惯六:统合综效 习惯七:不断更新 其它
2017-06-16 17:10:35 7617 1
原创 第十一章 未雨绸缪
不变只是愿望,变化才是永恒。 --------斯威夫特 一、唯一不变的就是变化本身 软件产品易于掌握的特性和不可见性,导致它的构建人员面临永恒的需求变更。 二、为变更设计系统 (1)细致的模块化 (2)可扩展的函数 (3)精确完整的
2017-06-16 16:09:54 458
原创 装箱(背包)问题(Packing Problem)
装箱问题也叫背包问题,简单来说,就是把小货物往大箱子里装,要如何才能装得多。个人常见的经历就是“装冰箱”,很有趣的现象就是常常感觉冰箱再也装不下了,但是经过一翻折腾之后又神奇的装下了。从企业运作角度来看就是尽量让每个容器(仓库、车辆、集装箱、船等)装的尽量多,可以节约企业的费用。通常,装载率85%左右,使用装箱优化方法后,可以达到90~95%左右。海尔做过一个海运装箱的项目,节约了大量
2017-06-15 16:40:44 16369 9
原创 栈和队列
栈是限定仅在表尾进行插入和删除操作的线性表。 队列是只允许在一端(队尾)进行插入操作,而在另一端(对头)进行删除操作的线性表。 (1)顺序栈 #include "stdio.h" #include "stdlib.h" #include "io.h" #include "math.h" #include "time.h"#defi
2017-06-15 15:21:44 403
原创 第十章 提纲挈领
在堆积如山的文件资料中,少数文档是关键枢纽,每一件项目管理的工作都围绕着它们运转。这些文档是项目经理最重要的个人工具。 计算产品的文档: (1)目标:定义满足的目标和需要,定义迫切需要的资源、约束和优先级。 (2)技术说明:计算机手册加性能规格说明,它是在计划新产品时第一个产生,并且最后完成的文档。 (3)进度 (4)预算
2017-06-15 14:30:22 382
转载 Android APK反编译
测试环境: win 7 使用工具: CSDN上下载地址: apktool (资源文件获取) 下载 dex2jar(源码文件获取) 下载 jd-gui (源码查看) 下载 android反编译整合工具包(最新) 下载 官
2017-06-14 22:10:23 361
原创 线性表
线性表(List):零个或多个数据元素的有限序列。 线性表的抽象定义: 线性表的顺序存储结构:用一段地址连续的存储单元依次存储线性表的数据元素。线性表的链式存储结构:用一组任意的存储单元存储线性表的元素(存储数据和索引) (1)单链表 (2)静态链表:用数组描述的链表
2017-06-14 18:37:55 553
原创 第九章 削足适履
他应该瞪大眼睛紧盯着诺亚,然后......好好学习一下,看他们当时是怎样把那么多东西塞进一个小小的方舟上的。 一、作为成本的程序空间 程序有多大?时间和空间开销 二、规模控制 对项目经理而言,规模控制既是技术工作的一部分,也是管理工作的一部分。系统结构师必须保持持续的警觉,确保连贯的系统完整性。培养开发人员从系统整体出发,面向用户的态度是软
2017-06-14 15:23:28 391
转载 十大最佳用于隐私和安全保护的 Linux 发行版
1. Qubes OS虽然不是面向新手用户的发行版,但 Qubes 是顶级的关注隐私的发行版之一。该发行版必须使用图形化安装程序将操作系统安装到硬盘驱动器,这是被加密的。Qubes OS 使用 Xen Hypervisor 来运行多个虚拟机,其主要理念就是基于隔离的安全,它会将系统隔离为“个人”、“工作”和“上网”。这样,即便你不小心在工作机器上下载了恶意软件,但个人文件不会受到影响。
2017-06-14 00:07:18 9478
原创 习惯二 以终为始---自我领导的原则
"以终为始"第一原则: 任何事物都是两次创造而成。 (1)头脑中的构思,即智力上的第一次创造 (2)付诸实践,体力上的第二次创造 "以终为始"第二原则: 自我领导 领导是第一次创造,必须先于管理;管理是第二次创造 领导与管理好比思想和行为。管理关注基层,思考的是"怎样才能有效把事情做好"; 领导关注高层,思考的是"我想成就的是什
2017-06-12 21:44:30 1872
转载 Python可视化库大全
看完这张图是不是有点懵?别着急,我们一起来看看后面的阐述。python可视化库可以大致分为几类:基于matplotlib的可视化库基于JS的可视化库基于上述两者或其他组合功能的库基于matplotlib的可视化库matplotlib是python可视化库的基础。matplotlib库的设计参考了matlab,甚至连名称也是以“mat”
2017-06-11 22:54:18 1113
原创 习惯一、 积极主动---个人愿景的原则
最令人鼓舞的事实,莫过于人类确实能主动努力以提升生命价值。 ---亨利.戴维.梭罗 生活是一本书,而你就是它的作者。你决定了它的情节和步调,而且你---只有你---在一页一页地翻着它。 ----康尼 积极主动的定义: 积极主动不仅指行事的态度,还意味着人一定要对自己的人生负责。 人生有三种价值观: (
2017-06-10 19:14:05 1492
原创 第七章 为什么巴比伦塔会失败
一、大型编程项目中的交流: (1)非正式途径: 清晰定义小组内部的相互关系和充分利用电话。 (2)会议: 常规项目会议 (3)工作手册 二、大型编程项目的组织架构: (1) 树状编程队伍 a、任务 b、产品负责人 : 组建团队,划分工作及制定进度表 c、 技术主管或结构师:
2017-06-10 17:28:45 521
转载 Java后端2017书单推荐
《Java核心技术·卷1 基础知识(原书第10版)》新手入门这本就够了,这一卷讲的非常基础,又易懂,比《Java编程思想》更容易啃下来。建议人手一本。已经到第10版了,覆盖最新技术,平时经常翻阅。个人提升《Java8 实战》Java8的新特性讲得最全最仔细的。《Effective Java》 Effective Java是我读过的最好的编
2017-06-09 22:26:50 6628 2
原创 第六章 贯彻执行
一、文档化的规格说明--------手册 手册不仅要描述包括所有界面在内的用户可见的一切,还要避免描述用户看不见的事物。 二、形式化定义:用于外部功能,说明它们是什么 不要携带两个时钟出海,带一个或者三个。 三、直接整合 四、会议和大会 周
2017-06-09 12:09:11 404
原创 习惯概论
习惯为"知识"、"技巧"、"意愿"相互交织的结果. 知识是理论范畴,指点"做什么"及"为何做"; 技巧告诉我们"如何做"; 意愿促使"想要做" 高效能与低效能人士习惯对比:
2017-06-07 22:41:28 536
java集合框架
2018-01-31
scrapy爬虫项目
2017-09-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人