如果大家处理过多语言资源,那么对JDK这个自带的native2ascii肯定不会陌生,它能够帮我们把不同的编码转化成统一的unicode编码,来实现国际化。一般我们都这么用,假设我们有这么一个文件zh.txt,其内容只有这么一行:然后我们使用native2ascii来将其内容转成unicode编码:很简单,但是你考虑过zh.txt文件的编码了吗?如果这个zh.txt文件是别人提供给你的,可能里面是采用了别的编码,那么如果仅仅是通过简单的native2asc
系统 2019-08-29 23:16:12 2132
一本非常棒的书,不愧“headfirst”的称谓。清晰的条理,生动的图示,偶尔来点老外的幽默——其实中国人不太能理解,阅读体验非常舒畅。oreilly的这个系列应该都很熟悉了,优点多多估计大家都知道,就不提了,说点不优的吧。如果你熟悉一门类似的静态面向对象语言(例如C#)那就不要看这个了,你会觉得有些罗嗦,因为大部分语言特性你都很清楚,没有必要看那么多示例、提示和比较等等;如果你是想全面的了解java语言,估计你会很失望,这本书里面甚至没有讲“反射”;如果
系统 2019-08-29 22:48:24 2132
8.+=复合赋值问题x+=i与x=x+i等效吗,许多程序员都会认为第一个表达式x+=i只是第二个表达式x=x+i的简写方式,但这并不准确。Java语言规范中提到:复合赋值E1op=E2等价于简单赋值E1=(T)((E1)op(E2)),其中T是E1的类型。复合赋值表达式自动地将所执行计算的结果转型为其左侧变量的类型。如果结果的类型与该变量的类型相同,那么这个转型不会造成任何影响,然而,如果结果的类型比该变量的类型要宽,那么复合赋值操作符将悄悄地执行一个窄化
系统 2019-08-29 22:02:50 2132
Java语言的一个优点就是取消了指针的概念,但也导致了许多程序员在编程中常常忽略了对象与引用的区别,特别是先学c、c++后学java的程序员。并且由于Java不能通过简单的赋值来解决对象复制的问题,在开发过程中,也常常要要应用clone()方法来复制对象。比如函数参数类型是自定义的类时,此时便是引用传递而不是值传递。以下是一个小例子:1publicclassA{2publicStringname;3}4publicclasstestClone{5publi
系统 2019-08-29 22:02:42 2132
本人联系方式:msn:snowfox_1028@hotmail.comemail:snowfox_1028@163.com学习和使用这么久java,但是还是觉得很茫然,什么都知道一点,但是什么都不精通,如struts,hibernate,ejb,ibatis,spring,现在想想,应该选择一个目标,进行深入的学习和应用,这样才能有所成,做了这么长的java开发,最后得到的结论和经验就是这些。也好,有了一个明确的方向,一个目标,呵呵,可以走我自己的路了,日
系统 2019-08-12 09:29:27 2132
SeleniumWebDriver测试弹出窗口,包括识别弹出窗口,将driver转到新的窗口,在新的串钩中执行而是步骤,然后再转换到最初的窗口。通过名称(name)识别和处理:SeleniumWebDriver允许我们通过name属性或窗口的句柄来识别窗口,然后通过WebDriver.switchTo().window()方法在不同的窗口之间进行切换。windowname属性的定义name属性可设置或得到窗口的名称,其值为字符串。语法如下:1window.
系统 2019-08-12 09:27:14 2132
本文介绍基于java的即时通信解决方案openfire3.6.4+spark2.5.8的完整的安装说明,并介绍了使用smack的java类库如何与im用户交互的例子,这样使得业务系统的消息可以通过smack编程将消息发送给spark客户端。spark2.5.8除了聊天之外还支持多人视频,语音,文件传输,截图,观看远程桌面,msn互联互通等功能。因本文图片太多,需要看图片的请下载资源或者访问http://code.google.com/p/openjweb/
系统 2019-08-12 01:33:16 2132
原文:C#制作Java+Mysql+Tomcat环境安装程序,一键式安装要求:JDK、Mysql、Tomcat三者制作成一个安装包,不能单独安装,安装过程不显示三者的界面,安装完成要配置好JDK环境、Mysql服务、Tomcat服务目的:解决客户在安装软件的复杂配置和繁琐便于管理软件版本便于系统集成分析:由于不能使用软件的原始安装版本,故只能将JDK的安装目录拷贝出来,放在D盘的SoftSource文件夹,由于要管理三者,将这三个放进一个文件夹里面Mysq
系统 2019-08-12 01:32:23 2132
尽管Java™运行时能够解决大量的内存管理问题,但对程序的内存占用情况保持警惕仍然是优化机器性能、测定内存泄露的关键。Windows上有很多工具可以监控内存的使用。但每种工具各有长短,都有特定的倾向性,常常没有明确地定义自己测量的是什么。作者将澄清关于内存使用的一些常见误解,介绍很多有用的工具,同时还将提供何时以及如何使用它们的指南。
Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。按照《Java虚拟机规范(第2版)》的规定,Java虚拟机所管理的内存将包括以下几个运行时数据区域,来个图更加直观点,如下图所示:解释下各个部分程序计数器:ProgramCounterRegister是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器。每个线程都有一个独立的程序计数器,各个线程之间计数器互不影响,独立存储。此内存
系统 2019-08-29 22:50:35 2131
最近在看马士兵老师的hibernate视频在看视频中看到老师在一个get方法上@Id什么的看了老半天还是一头雾水,因为自己写的时候就报错找不到,后来上网搜了一些资料,找到了解决方案:呵呵现在分享下望和我遇到同样情况的人能有所帮助:比如说:packagenet.hibernate.bean;importjavax.persistence.Entity;importjavax.persistence.GeneratedValue;importjavax.per
系统 2019-08-29 22:38:37 2131
相信大家都使用过MSN,QQ这样的即时聊天类软件,对于它们的好友上线提示功能并不陌生吧?从屏幕右下角弹出一个小界面,慢慢上升,最后消失。我们能不能在自已的程序中也做出相同的功能呢?能!笔者现用JAVA和eclipse的SWT用户界面组件实现这个功能。什么是SWT呢?SWT原来是eclipse项目组为开发eclipseIDE所编写的图形界面API,运行时,其先判断本机是否有相同的界面元素,如果有则直接调用显示,如没有才进行模拟显示。其运行机制使速度比AWT,
系统 2019-08-29 22:27:01 2131
I/O问题可以说是当今互联网Web应用中所面临的主要问题之一,因为当前在这个海量数据时代,数据在网络中随处流动。这个流动的过程中都涉及到I/O问题,可以说大部分Web应用系统的瓶颈都是I/O瓶颈。本文的目的正是分析I/O的内在工作机制,你将了解到:Java的I/O类库的基本架构;磁盘I/O工作机制;网络I/O的工作机制;其中以网络I/O为重点介绍JavaSocket的工作方式;你还将了解到NIO的工作方式,还有同步和异步以及阻塞与非阻塞的区别,最后我们将介
系统 2019-08-29 22:25:44 2131
一、引子其实没有什么好的例子引入解释器模式,因为它描述了如何构成一个简单的语言解释器,主要应用在使用面向对象语言开发编译器中;在实际应用中,我们可能很少碰到去构造一个语言的文法的情况。虽然你几乎用不到这个模式,但是看一看还是能受到一定的启发的。二、定义与结构解释器模式的定义如下:定义语言的文法,并且建立一个解释器来解释该语言中的句子。它属于类的行为模式。这里的语言意思是使用规定格式和语法的代码。在GOF的书中指出:如果一种特定类型的问题发生的频率足够高,那
系统 2019-08-29 22:23:20 2131