代老师的博客 https://github.com/daichangya

归档

2019 年 04 月

摘要:将应用交付给终端用户正变得越来越难,因为会涉及到更多的组件,也因此更容易犯错。技术性能公司Compuware总结了贯穿应用始终的八大影响应用性能的陷阱,望开发者引以为戒。 数据库访问低效、框架配置错误、内存使用过度、网页臃肿,以及不遵循常见Web性能最佳实践都是应用开发中常见的、影响应用性能的主要陷阱 。技术性能公司Computeware从实际案例总结了贯穿应用始终的八大影响应用性
Web 技术成为当今主流的互联网 Web 应用技术之一,而 Servlet 是 Java Web 技术的核心基础。因而掌握 Servlet 的工作原理是成为一名合格的 Java Web 技术开发人员的基本要求。本文将带你认识 Java Web 技术是如何基于 Servlet 工作,你将知道:以 Tomcat 为例了解 Servlet 容器是如何工作的?一个 Web 工程在 Servlet 容器中是
简介: 本文主要与您探讨了表达式的一般模型及相关概念,并以一种循序渐进的方式阐述了一种表达式解析与计算方法,并提供了一个支持可扩展的表达式解析与计算的设计实例。
时常,在各大论坛看到不少的朋友在张贴简历,希望得到他人的指点。为此,根据笔者一点经验,谈谈看法。   在IT行业里面,相对竞争压力较大。好的简历是成功的前提,可是很多经验较少的朋友,尤其是毕业生,对写好简历有点“犯难”。   写简历是一门学问,
问题提出:12.0f-11.9f=0.10000038,"减不尽"为什么?                  new Float(55442.345),输出55442.344为什么?(单精度浮点型,有效位数只有七位。而整数已占五位,故小数二位后之后均为无效数字。双精度型,有效位为十六位) 现在我们就详细剖析一下浮点型运算为什么会造成精度丢失? 1、小数的二进制
新浪微博在短短一年时间内从零发展到五千万用户,我们的基层架构也发展了几个版本。第一版就是是非常快的,我们可以非常快的实现我们的模块。我们看一下技术特点,微博这个产品从架构上来分析,它需要解决的是发表和订阅的问题。我们第一版采用的是推的消息模式,假如说我们一个明星用户他有10万个粉丝,那就是说用户发表一条微博的时候,我们把这个微博消息攒成10万份,这样就是很简单了,第一版的架构实际上就是这两行字。第
前段日子师兄让我整理开源的公式解析器项目,我到网上查了两天,对大部分有人维护的开源项目进行了整理和总结:现在记在此处。
Jetty 应该是目前最活跃也是很有前景的一个 Servlet 引擎。本文将介绍 Jetty 基本架构与基本的工作原理:您将了解到 Jetty 的基本体系结构;Jetty 的启动过程;Jetty 如何接受和处理用户的请求。你还将了解到 AJP 的一些细节:Jetty 如何基于 AJP 工作;以及 Jetty 如何集成到 Jboss;最后我们将比较一下两个 Servlet 引擎:Tomcat 和 Jetty
学习机器学习有很多方法,大多数人选择从理论开始。 如果你是个程序员,那么你已经掌握了把问题拆分成相应组成部分及设计小项目原型的能力,这些能力能帮助你学习新的技术、类库和方法。这些对任何一个职业程序员来说都是重要的能力,现在它们也能用在初学机器学习
本文介绍了Java多线程编程中的常见陷阱,如在构造函数中启动线程,不完全的同步,在使用某个对象当锁时,改变了对象的引用,导致同步失效等等。 1、在构造函数中启动线程 我在很多代码中都看到这样的问题,在构造函数中启动一个线程,类似这样: public class A{     public A(){        this.x=1;
Java™ 5.0 第一次让使用 Java 语言开发非阻塞算法成为可能,java.util.concurrent 包充分地利用了这个功能。非阻塞算法属于并发算法,它们可以安全地派生它们的线程,不通过锁定派生,而是通过低级的原子性的硬件原生形式 —— 例如比较和交换。非阻塞算法的设计与实现极为困难,但是它们能够提供更好的吞吐率,对生存问题(例如死锁和优先级反转
本篇主要分析:1.如何将byte数组适配至ByteArrayInputStream,对应与IO部分的适配器模式;2.BufferedInputStream的工作原理,对应于IO的装饰器模式,会首先研究InputStream和FilterInputStream的源代码,同时会将要谈谈软件设计中的缓存相关的知识。后面专门一章分析PipedInputStream和PipedOutStream,简单谈谈管

2019-04-17

知识管理建议 总则总参从无知到有知 资料收集的习惯发表是最好的记忆Wiki 使用 建议: Blog 写作 Discuss 搜索技巧回复:Yibie的知识管理流程与工具选择 一、个人知识管理的流程二、个人知识管理工具的象限三、知识管理的公式 Yibie发起的KM意义思考 SEE::SLL项目流程/仨儿之建议集 知识管理建议
学习 memcached 命令并评估缓存性能 本文是系列文章的第 1 部分,主要介绍 memcached 和 Grails。作者 James Goodwill 将向您介绍开源解决方案 memcached。本文涵盖的主题包括安装、配置、memcached 客户机命令和评估缓存效率。与介绍通过特定于语言的客户机来使用 memcached 的文章不同,本文主要讨论与 memcach
无痛苦的软件维护——被遗忘的需求

2019-04-17

前两天在这个版块的精华区里翻到了Robbin关于EJB的调用原理的分析,受益非浅,但感觉用纯文字来表达效果似乎不够直观,而且对RMI的阐述也略嫌少了些。这里我根据自己的一点体会,在Robbin帖子的基础上再来说说这个话题,供大家参考。  首先,我想先说说RMI的工作原理,因为EJB毕竟是基于RMI的嘛。废话就不多讲了,RMI的本质就是实现在不同JVM之间的调用,工作原理图如下:
1. LinkedHashMap概述:    LinkedHashMap是Map接口的哈希表和链接列表实现,具有可预知的迭代顺序。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。    LinkedHashMap实现与HashMap的不同之处在于,后者维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,该迭代
 学习了下,对@RequestBody,@SessionAttributes,@ModelAttribute还不是很了解,继续学习,也望知道的能告诉我一下,谢谢。 简介:  handler method 参数绑定常用的注解,我们根据他们处理的Request的不同

2019-04-17

jvm
Java虚拟机 运行时数据区 主要分为五部分:方法区,堆(这两块是所有线程共享的区域),程序计数器,本地方法栈,虚拟机栈(vm stack)(这三块为线程隔离区域) 程序计数器(Program Counter Register) 它是一块较小的内存空间,它的作用可以看做是当先线程所执行的字节码的信号指示器。
最近做项目,回想起了socket,做一个小例子回顾下,长期没有使用,忘记的差不多了。 预期目标:客户端向服务器端发送消息,服务器端读取信息,回复客户端,循环往复。