Java - 军军小站|张军博客
Java

小议Java程序不能运行的几种原因

当我们或许是煞费苦心所敲的代码无法运行时,可能我们更多想到的不是自己所敲的代码存在错误,而是系统或者某些外在的客观的原因。多次的运行失败之后,渐渐的意识到很多错误并不是系统的外在的原因,而是自己丢三拉四的缘故,下面就结合自己所敲的寥寥的代码总结一下Java程序不能运行的几种原因。一.系统存在问题(运行环境或配置问题):很正常,当一个程序无法运行时,第一时间想到的是最大的一个问题:环境抑或系统出现了这样或那样的问题,人之常情。对这种问题,一般情况下很容易找到

系统 2019-08-29 22:30:09 2144

Java

jetty6 嵌入到 javaproject中

Jetty是一个开源的servlet容器,它为基于Java的web内容,例如JSP和servlet提供运行环境。Jetty以其高效、小巧、可嵌入式等优点深得人心,尤其是启动速度Tomcat6简直望尘莫及。Jetty作为可选的servlet容器只是一个额外的功能,而它真正出名是因为它是作为一个可以嵌入到其他的Java代码中的servlet容器而设计的。这就是说,开发小组将Jetty作为一组Jar文件提供出来,因此你可以在你自己的代码中将servlet容器实例

系统 2019-08-29 22:10:54 2144

Java

Java多线程程序设计详细解析

Java多线程程序设计详细解析一、理解多线程多线程是这样一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立。线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线程没有独立的存储空间,而是和所属进程中的其它线程共享一个存储空间,这使得线程间的通信远较进程简单。多个线程的执行是并发的,也就是在逻辑上“同时”,而不管是否是物理上的“同时”。如果系统只有一个CPU,那么真正的“同时”是不可能的,但是

系统 2019-08-29 22:08:19 2144

Java

Java NIO(十一)Pipe

JavaNIO管道是2个线程之间的单向数据连接。Pipe有一个source通道和一个sink通道。数据会被写到sink通道,从source通道读取。这里是Pipe原理的图示:创建管道通过Pipe.open()方法打开管道。例如:Pipepipe=Pipe.open();向管道写数据要向管道写数据,需要访问sink通道。像这样:Pipe.SinkChannelsinkChannel=pipe.sink();通过调用SinkChannel的write()方法,

系统 2019-08-29 22:04:18 2144

Java

Effective Java (类和接口)

十三、使类和成员的可访问性最小化:信息隐藏是软件程序设计的基本原则之一,面向对象又为这一设计原则提供了有力的支持和保障。这里我们简要列出几项受益于该原则的优势:1.更好的解除各个模块之间的耦合关系:由于模块间的相互调用是基于接口契约的,每个模块只是负责完成自己内部既定的功能目标和单元测试,一旦今后出现性能优化或需求变更时,我们首先需要做的便是定位需要变动的单个模块或一组模块,然后再针对各个模块提出各自的解决方案,分别予以改动和内部测试。这样便大大降低了因代

系统 2019-08-29 22:02:34 2144

Java

加速Java应用开发速度3——单元/集成测试+CI

《加速Java应用开发速度》系列目录:加速Java应用开发速度1——加速spring/hibernate应用调试时启动速度加速Java应用开发速度2——加速项目调试启动速度加速Java应用开发速度3——单元/集成测试+CI加速Java应用开发速度4——使用模板技术加速项目开发速度加速Java应用开发速度5——使用脚本自动化日常操作大家可能对如下情景比较熟悉:如果开发过SSH的web项目,启动服务器可能会比较慢,有的项目甚至需要1分多钟,甚至更多,这个启动时

系统 2019-08-29 22:00:52 2144

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 2144

Java

Java集合2:类 AbstractCollection及源码

1.继承关系图2.概览此类提供Collection接口的骨干实现,以最大限度地减少了实现此接口所需的工作。3.方法构造方法摘要protectedAbstractCollection()唯一的构造方法。方法摘要booleanadd(Ee)确保此collection包含指定的元素(可选操作)。booleanaddAll(Collectionc)将指定collection中的所有元素都添加到此collection中(可选操作)。voidcl

系统 2019-08-29 22:26:18 2143

Java

带线程池的小服务器-Java实现

前两天,利用线程池技术(ThreadPool)写了个web服务器,其性能当然无法和apacheiis等相比,但基本的功能都有了,唯一欠缺的是无法解析动态页面,采用解释执行(asp模式的)效率太低,如果采用编译执行,要么自己编写一个编译器来编译整个动态页面,要么采用预编译,很复杂。。。。现在把代码拿出来晒一晒!由于只是初步的设计所以没有考虑到很多设计模式,代码在优化上很不到位,请各位高手不吝赐教。MainServer.java这是主服务文件,也是提供主线程的

系统 2019-08-12 09:29:48 2143

Java

收购后Java之父首次公开亮相 称Oracle掌管Java

美国时间3月17日,在Oracle收购SunMicrosystems之后,Java之父JamesGosling首度在公开场合露面,他一如既往保持着对Java的高度关注,并表示Java在Oracle的掌管下令人放心,随后他还透露了Java的发展方向。Gosling是在TheServerSideJavaSymposium上发表这份公开说明的,当时他的报告主题是JavaTodayandTomorrow。他表示目睹了Oracle掌舵Java的方向之后,他深受鼓舞,

系统 2019-08-12 01:32:44 2143

Java

Java NIO(一)概述

Javanio的3个特性JavaNIO(NewIO)是一个可以替代标准JavaIOAPI的IOAPI(从Java1.4开始),JavaNIO提供了与标准IO不同的IO工作方式。ChannelsandBuffers(通道和缓冲区)标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。AsynchronousIO(异步IO)JavaNIO可以让你异步

系统 2019-08-29 23:28:17 2142

Java

JavaEye 可视化编辑器下的图片编辑后的问题

也许是个Bug吧,在这里我简单说一下发现的过程。现在我上传一个图片:test.png然后将图片插入编辑器:由于太大了,我需要利用编辑器上的“插入/编辑图片”来修改尺寸。点击更新。(其实这个地方无所谓点什么)然后直接点击“提交”或者“存为草稿”,没有反应了。最后我退出来并重新进入发现:并不是前台没有给响应,而是根本没有提交成功。如何从这种状态挣脱出来呢?点击到文章的末尾输入一些字符,就恢复正常了。也就是说如果在编辑完图片后不能直接提交,而是要将编辑器状态(这

系统 2019-08-29 22:17:12 2142

Java

java解惑你知多少(一)

温馨提示:如需《java解惑你知多少》的朋友,请到第八节附录下载,那里我提供了Word格式化的文档,读起来可能方便一些,如果你喜欢,请对我的工作给于支持,谢谢~!另外,特此声明:本系列内容来源于《JAVA解惑》一书,不是本人所独创,此系列内容应该说是该书的一个精简版,但内容含盖90%左右,摘录于此只是便于与大家共同分享,激起大家对Java基础的兴趣!我也是一位Java老菜鸟,搞了好几年的Java了,现在回头看这本书时,颇有感受——基础才是永恒!不过如果大家

系统 2019-08-29 22:02:51 2142

Java

利用shell自动化打包java工程

Java代码#!/bin/bash#wuzhong@taobao.com#打包工程用usage(){echo'build.sh-s(svnup)-x(antx.properties)-m(mvncleanpackage)-a(doall)kjava/wtm]'exit1}#usageNEED_MVN=1whilegetopts"sxma:"options;docase$optionsins)echo"svnup"HAS_OPT=1NEED_SVN=1;;x

系统 2019-08-29 22:02:15 2142