摘要:这段时间经常看到有人问到web开发中怎么中文总是?号。原因其实很简单,因为大家大多用的是tomcat服务器,而tomcat服务器的默认编码为 iso-8859-1(西欧字符)。就是因为iso-8859-1(西欧字符)编码造成了我们经常看到?号。 方法一:最简单也是用的最多的方法。 <%@ page language="java" pageEncoding="GBK" %> 或者<%@ page contenttype="text/html;charset=gbk";>这里可以用gb2312或者gbk,只是gbk
阅读全文
摘要:从Rob Pike 的 Google+上的一个推看到了一篇叫《Understanding Object Oriented Programming》的文章,我先把这篇文章简述一下,然后再说说老牌黑客Rob Pike的评论。 先看这篇教程是怎么来讲述OOP的。它先给了下面这个问题,这个问题需要输出一段关于操作系统的文字:假设Unix很不错,Windows很差。 这个把下面这段代码描述成是Hacker Solution。(这帮人觉得下面这叫黑客?我估计这帮人真是没看过C语言的代码) public class PrintOS { public static void main(final S...
阅读全文
摘要:当你把界面都设计好了,总需要添加相应的执行动作给组件,在JAVA中有相应的时间处理机制,叫做“监听器”,给组件添加相应执行动作的过程叫做“注册”,其中的“监听器”是一个接口,里面包含了相应的执行函数,要做的是自己实现其中的方法函数,然后“注册”给组件,通俗一点的话就是老妈让我去买酱油,老妈不关心我会转过几天街道,会怎样和老板到讨价还价怎样回家,老妈需要的最终结果是我能够将酱油交付到她的手中,期中买酱油的过程是我实现的,我就是事件处理机制里面的“监听器”接受老妈的指示,老妈让我买酱油去,就是对应将事件“注册”给我,呵呵,又一次完美体现了JAVA中实现与接口分离。 JAVA中的组件事件有Ac...
阅读全文
摘要:概述 给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子. 适用性 1.访问一个聚合对象的内容而无需暴露它的内部表示. 2.支持对聚合对象的多种遍历. 3.为遍历不同的聚合结构提供一个统一的接口(即,支持多态迭代). 参与者 1.Iterator 迭代器定义访问和遍历元素的接口. 2.ConcreteIterator 具体迭代器实现迭代器接口. 对该聚合遍历时跟踪当前位置. 3.Aggregate 聚合定义创建相应迭代器对象的接口. 4.ConcreteAggregate 具体聚合实现创建相应迭代器的接口,该操作返回ConcreteIterato..
阅读全文
摘要:在JAVA平台上开发应用程序的时候,有一个很大的特点就是其是在应用程序运行的时候才建立对象。换句话说,在程序运行的时候,才会最终确定对象的归属,即对象应该存储在什么地方。由于存储在不同的区域,其在性能上会有所不同。为此作为Java程序开发人员需要了解各个存储区域的特点以及对性能的影响。然后再根据需要来调整应用程序的区域分配。总的来说,在操作系统中有五个地方可以用来保存应用程序运行中的数据。这类区域的特点以及对性能的影响分析如下。 存储区域一:寄存器 虽然同在内存中,但是不同的区域由于用途不同,其性能也有所不同。如就拿Java应用程序来说,寄存器由于其处于处理器的内部,为此这个区域存取数...
阅读全文
摘要:Google已经基于Apache License 2.0把Closure Stylesheets开源,这种工具属于Closure Tools包之内,在处理CSS的时候很有用。Closure Stylesheets是一个Java程序,它向CSS中添加了变量、函数、条件语句以及混合类型,使得我们更易于处理大型的CSS文件。开发者可以使用Google stylesheets (GSS)这种工具来生成web应用程序或者网站所使用的真正的CSS文件。 变量 变量是使用“@def”来定义的。下面的代码示例展示了如何使用变量: @def BG_COLOR rgb(235, 239, 249);@d...
阅读全文
摘要:线程类: package threadtest1; public class ReturnThreadInfo extends Thread { private String str; public ReturnThreadInfo() { this.str = “Hello”; } public void run(){ try{ this.str = “Hello World!”; }catch(Exception ex){ } } /*返回线程信息:str变量的值*/ public String getThreadInfo(){ return this.str; } } 主类: packa
阅读全文
摘要:我们在切换选项卡的时候,如果使用的是ajax技术,会碰到如下情况:点击tab1选项,服务器发出一个Ajax请求获取该选项tab1的内容数据。如果请求正在处理,并且在此过程中你点击了tab2选项并发送一个新的请求,服务器现在就有了两个请求挂起。页面出现的结果是,在显示的数据内容时,先显示tab1选项的内容数据,再接着显示tab2选项内容。 在这种情况下,我们应该取消tab1挂起的请求,仅允许处理当前(tab2)请求新建一个index.html代码如下:<!DOCTYPE HTML><html><head><meta charset="UTF-8
阅读全文
摘要:在切入正题之前,就让浸泡在数据海洋里的我们,看几个并不陌生的场景吧。 场景一:痛苦的升级 三十六岁的吴桐坡是一个电商网站的首席技术官,最近有点头疼:业务旺季就在眼前,现在的内存、盘阵、操作系统和应用平台已经有点扛不住。老板却已发话,今年要基于用户消费行为的统计与分析,上线更多的新品类。唉,又要和部门里的兄弟们熬夜了。好在之前做了不少准备工作,对这次升级的成本和问题心里大概有底。“但过去几年,哪次硬件变更和软件升级没出过岔子?我怎么敢跟老板拍胸脯,说升级后的系统马上能顺利支持5000-6000次/秒的在线交易请求,而不影响任何业务?“ 场景二:郁闷的IT 修养很好的俞年发火了,让这位...
阅读全文
摘要:这是一个相当2 相当基础 相当没有意义的帖子;但今天因为这个问题引发了一个bug.小细节也很重要!!! char a='1';// char b='2dsf'; //char 表示单个字符 char c=1; //不需要单引号也能表示// System.out.println(a.equals("1")); //语法错误 eauals 是字符串的方法,用char调用,脑子进水了吧 我 System.out.println("'1'.equals(char'1'):"+("1&quo
阅读全文
摘要:通信信道(communication channel):将字节序列从一个主机传输到另一个主机的一种手段,可能是有线电缆,如以太网(Ethernet),也可能是无线的,如WiFi,或是其他方式的连接。 信息(information)是指由程序创建和解释的字节序列。在计算机网络环境中,这些字节序列称为分组报文(packet)。 协议(protocol)相当于相互通信的程序达成的一种约定,它规定了分组报文的交换方式和它们包含的意义。一组协议规定了分组报文的结构(例如报文中的哪一部分表明了目的地址)以及怎样对报文中所包含的信息进行解析。 TCP和UDP属于传输层,IP属于网络层,TCP,UD...
阅读全文