- 军军小站|张军博客
拥有Java标签的文章
Java

C、Java、Python到底优劣在哪里?

CC是大部分转行编程或者是入门学习人员最开始接触的语言,虽说C语言在内存管理上存在严重的缺陷,尤其是‘\0’的设计被很多人吐槽是最大的败笔,但是毫无疑问,对那些要求最高的效率,良好的实时性,或者与操作系统内核紧密关联的程序来说,C仍然是很好的选择。现有的很多程序可以产生非常棒的Ccode,比如语法分析器、GUIBuilder等,这时候C语言也是有吸引力的,因为你所需要编写的代码只是整个程序的一小部分,C语言对于程序员来说具有无可替代的价值。就我这里讨论的每

系统 2019-09-27 17:55:10 2039

Java

Java Pet Store 2.0 应用程序简介

http://developers.sun.com.cn/Java/petstore.html使用Ajax创建用于无缝数据交互的Web2.0web应用程序是一项复杂的任务,Ajax是一种包含(但不仅限于)AsynchronousJavaScript和XML的技术。为了帮助您准确理解什么是Web2.0,以及Ajax如何改善用户体验,JavaBluePrints程序小组开发了JavaPetStore2.0参考应用程序。通过探索PetStore2.0应用程序的用

系统 2019-08-29 22:59:14 2039

Java

java中的几个集合类

今天在网上搜索了一下,发现一篇关于java集合的博文,里面整理得非常好,特意copy过来和大家分享一下本讲内容:集合collection讲集合collection之前,我们先分清三个概念:colection集合,用来表示任何一种数据结构Collection集合接口,指的是java.util.Collection接口,是Set、List和Queue接口的超类接口Collections集合工具类,指的是java.util.Collections类。SCJP考试

系统 2019-08-29 22:53:48 2039

Java

Java、模式、美眉、篮球

程序设计模式的有趣解释-追MM创建型模式1、FACTORY一追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。2、BUILDER

系统 2019-08-29 22:48:37 2039

Java

head first java

一本非常棒的书,不愧“headfirst”的称谓。清晰的条理,生动的图示,偶尔来点老外的幽默——其实中国人不太能理解,阅读体验非常舒畅。oreilly的这个系列应该都很熟悉了,优点多多估计大家都知道,就不提了,说点不优的吧。如果你熟悉一门类似的静态面向对象语言(例如C#)那就不要看这个了,你会觉得有些罗嗦,因为大部分语言特性你都很清楚,没有必要看那么多示例、提示和比较等等;如果你是想全面的了解java语言,估计你会很失望,这本书里面甚至没有讲“反射”;如果

系统 2019-08-29 22:48:24 2039

Java

Java版战棋(SLG)游戏AI及寻径处理入门

代码下载地址:http://download.csdn.net/source/1047937SLG或者说战棋游戏,在大多数英文站点是归类到SimulationGame的(包括模拟城市之类的纯SIM),并没有进行SRPG(StrategiesRolePlayGames)、RTS(Real-TimeStrategyGame)乃至RSLG(RoleplaySimulationGame)种种的细分。归结原因,想必还是因为近似因素太多,在大多数时候已经难以区分其本来

系统 2019-08-29 22:39:52 2039

Java

深入分析 Java I/O 的工作机制

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 2039

Java

深入浅出基于Java的解释器设计模式

一、引子其实没有什么好的例子引入解释器模式,因为它描述了如何构成一个简单的语言解释器,主要应用在使用面向对象语言开发编译器中;在实际应用中,我们可能很少碰到去构造一个语言的文法的情况。虽然你几乎用不到这个模式,但是看一看还是能受到一定的启发的。二、定义与结构解释器模式的定义如下:定义语言的文法,并且建立一个解释器来解释该语言中的句子。它属于类的行为模式。这里的语言意思是使用规定格式和语法的代码。在GOF的书中指出:如果一种特定类型的问题发生的频率足够高,那

系统 2019-08-29 22:23:20 2039

Java

java clone方法使用详解

Java语言的一个优点就是取消了指针的概念,但也导致了许多程序员在编程中常常忽略了对象与引用的区别,特别是先学c、c++后学java的程序员。并且由于Java不能通过简单的赋值来解决对象复制的问题,在开发过程中,也常常要要应用clone()方法来复制对象。比如函数参数类型是自定义的类时,此时便是引用传递而不是值传递。以下是一个小例子:1publicclassA{2publicStringname;3}4publicclasstestClone{5publi

系统 2019-08-29 22:02:42 2039

Java

敏捷开发中编写高质量Java代码

敏捷开发的理念已经流行了很长的时间,在敏捷开发中的开发迭代阶段中,我们可以通过五个步骤,来有效的提高整个项目的代码质量。Java项目开发过程中,由于开发人员的经验、Java代码编写习惯,以及缺乏统一的标准和管理流程,往往导致整个项目的代码质量较差,难于维护,需要较大的测试投入和周期等问题。这些问题在一个项目组初建、需求和设计均具有不完全可预期性和完备性的全新项目中将尤为突出。如图1所示,敏捷开发过程经历需求调研,用例分析和用例分解,进入开发迭代阶段。在每个

系统 2019-08-29 21:58:48 2039

Java

编写java代码的几点技巧

(1)bigdecimal中要使用string作为参数来构造(bigdecimal.valueof()会把各种值转化成字符串,再调用bigdecimal(string)的),否则照样会出问题;Java代码system.out.println(10000*1.005);system.out.println(newbigdecimal(10000).multiply(newbigdecimal(1.005)));system.out.println(bigde

系统 2019-08-12 09:30:00 2039

Java

Java的集合类

Java的集合类就好比一个容器,用来盛放Java类的对象。有些容器内所放的东西是可以操作的,而有些则是不可以的。Java的集合类是由java.util包所提供的,常用的有Map,Set和List,而Set和List实现了Collection接口。1.认识Collection接口Collection接口是Set接口和List接口的父接口,通常情况下不被直接使用,但定义了一些通用方法,通过这些方法可以实现对集合的基本操作。Collection接口的常用方法如下

系统 2019-08-12 09:29:46 2039

Java

java字符串应用之表达式解析器

一、表达式的组成1、数字2、运算符:+-/*^%=3、圆括号4、变量二、运算符优先级由高到低分别为:+-(正负号)、^、*/%、+-、=优先级相等的运算符按照从左到右的顺序计算三、关键技术点1、确定运算的优先级,从高到低分别为:原子元素表达式,包括数字和变量;括号表达式;一元表达式,取数的负数;指数表达式;乘、除、取模表达式;加、减表达式;赋值表达式。2、对于每一级别的运算,都由一个方法实现,在方法中先完成比自己高一级别的运算,再处理本级别的运算。因此,在

系统 2019-08-12 09:29:44 2039

Java

Java之Tomcat和激活MyEclips

1.配置Tomcat虚拟目录在D盘创建文件夹“javaweb”,然后添加WEB-INF文件夹及其内容。创建index.html页面,随便写些什么。在tomcat安装路径下满的webapps/conf/server.xml中Host节点下面添加:之后在浏览器中敲入http://localhost:8080/javaweb/搞定。哦也。2.安装Tomcat之配置现实情况是

系统 2019-08-12 01:33:51 2039

Java

查看tomcat启动文件都干点啥---Catalina.java

在前一章查看tomcat启动文件都干点啥---Bootstrap.java中我们得出结论,在Bootstrap中通过反射调用Catalina类中的getServer,start,stop,stopServer等方法,下面看一下Catalina类中给外部提供的公共方法:Start:其中Catalina类的入口当然是start方法.start方法实现了启动一个新的server事例的功能,看一下start方法的内容:1publicvoidstart(){23if

系统 2019-08-12 01:33:02 2039