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

C/C++、Java、Go、Python总结对比27-try...catch

我们平时写完代码运行的过程中,会出现一些问题,但是又不想让程序立马挂掉,或者有些数据没有处理程序就终止运行了。对于不想让程序直接遇到问题就停止的情况,我们可以用try...catch...捕获异常,打印出异常后继续运行。对于有些数据没有处理程序就挂掉的情况,我们可以用c++的析构函数和java中的finally来进行处理。throw:当问题出现时,程序会抛出一个异常。这是通过使用throw关键字来完成的。catch:在您想要处理问题的地方,通过异常处理程序

系统 2019-09-27 17:46:10 2054

Java

Java NIO(二)Channel

JavaNIO的通道类似流,但又有些不同:既可以从通道中读取数据,又可以写数据到通道。但流的读写通常是单向的。通道可以异步地读写。通道中的数据总是要先读到一个Buffer,或者总是要从一个Buffer中写入。正如上面所说,从通道读取数据到缓冲区,从缓冲区写入数据到通道。如下图所示:Channel的实现这些是JavaNIO中最重要的通道的实现:FileChannel从文件中读写数据。DatagramChannel能通过UDP读写网络中的数据。SocketCh

系统 2019-08-29 23:17:48 2054

Java

java中把String转换成Date的方法

StringbirthdayString="2006-04-05";java.util.Datebirthday=newjava.util.Date();try...{java.text.SimpleDateFormatsdf=newjava.text.SimpleDateFormat("yyyy-MM-dd");birthday=sdf.parse(birthdayString);System.out.println(birthday);System.o

系统 2019-08-29 22:56:37 2054

Java

JAVA线程池代码浅析

1.ExecutorServiceJava从1.5开始正式提供了并发包,而这个并发包里面除了原子变量,synchronizer,并发容器,另外一个非常重要的特性就是线程池.对于线程池的意义,我们这边不再多说.上图是线程池的主体类图,ThreadPoolExecutor是应用最为广泛的一个线程池实现(我也将在接下来的文字中详细描述我对这个类的理解和执行机制),ScheduledThreadPoolExecutor则在ThreadPoolExecutor上提供

系统 2019-08-29 22:17:08 2054

Java

使用JNI集成java与native程序

当我们开始接触JNI但是还不熟悉的时候,也许会这样几个问题:Java程序和native程序的数据类型通常是不一样的,它们怎么相互映射的呢?怎么在native方法中访问java方法传递过来的数据呢?在native方法中可以创建java对象吗?如何把结果返回给调用它的java方法?读完本文你将会明白如上问题的来龙去脉。首先我在重复一下如何编写JNI相关的应用程序,我们必须在java方法中声明一个native的方法,比如publicnativeStringget

系统 2019-08-12 09:30:14 2054

Java

从事 Java 20 年最终却败给了 Python,哭了!

之前遇到一个老师,他从事Java行业20年了,在Python兴起的时候,他周围的其他同行们都在纷纷学习Python方面的知识,连他的学生也问他“老师,你为什么不学Python呢?”。当这位听到学生这个问题的时候,他心里一怔一下,自己从事了Java这么多年,编写了这么多年的Java代码,Java的好他最清楚不过了,觉得Python再怎么盛行他也不会改行学别的,因为在他的眼里Java是不可取代的语言!可当Python逆袭各大编程排行版后,新媒体、身边朋友也都在

系统 2019-09-27 17:56:26 2053

Java

Java应用从集中式步入分布式

【IT168技术】记得Martin大叔在《企业应用架构模式》中特别强调:“能够不分布式的应用就不要分布式”,这句话没什么问题,尤其对于做过分布式应用的人而言,就更会有深刻的体会了,但这个世界偏偏就没有那么简单,大多数人都会碰到分布式应用的场景,尤其是对于大型应用而言,从集中式步入分布式是不可避免的,只是也许是小型分布式的,也许是大型分布式的;也许是有高性能要求的,也许是没有的,在这篇blog中我们来看看java应用从集中式步入分布式后到底会带来些什么挑战。

系统 2019-08-29 22:12:56 2053

Java

将BIRT整合到自己的Java项目中(二)

关于编写viewer,关键在于使用ReportEngineAPI,这个在birt官方文档上有很详细的描述。这里将几个主要环节总结一下:启动ReportEngine这里需要注意启动ReportEngine的开销问题和图片链的协议的问题。使用IReportEngineFactory比每次new一个出来性能方面要好很多。使用HTMLEmitterConfig可以使得生成的HTML报表中的图片的src指向一个web资源而非file资源。publicIReportE

系统 2019-08-12 09:30:39 2053

Java

java中的集合

在java的iterator中,如果想删除一个元素,比如删除第一个元素,则应该先调用next()方法,再remove()。否则会抛出异常IliegalStateException。java类提供的AbstractCollection类把基础方法size和iterator抽象化了,但是在它们的基础上实现了例行方法contains()等。一个具体的集合可以从abastractCollection超类实现了,而且一些方法已经实现。具体的集合提供iterator方

系统 2019-08-12 09:30:35 2053

Java

Java线程:线程状态的转换

Java线程:线程状态的转换SCJP5学习笔记一、线程状态线程的状态转换是线程控制的基础。线程状态总的可分为五大状态:分别是生、死、可运行、运行、等待/阻塞。用一个图来描述如下:1、新状态:线程对象已经创建,还没有在其上调用start()方法。2、可运行状态:当线程有资格运行,但调度程序还没有把它选定为运行线程时线程所处的状态。当start()方法调用时,线程首先进入可运行状态。在线程运行之后或者从阻塞、等待或睡眠状态回来后,也返回到可运行状态。3、运行状

系统 2019-08-12 09:30:26 2053

Java

将BIRT整合到自己的Java项目中(一)

BIRT的runtime下载包中有一个birt.war文件,将它解开,复制WEB-INF/plantform目录下的congiguration和plungins目录到项目lib/birt-2.1.2目录,复制WEB-INF/lib目录下的jar到项目lib/birt-2.1.2/lib。顺便说一下,我的项目目录结构是这样的:src/javalib/birt-2.1.2/libconfgurationpluginsweb/WEB-INF如果项目需要使用BIR

系统 2019-08-12 09:29:50 2053

Java

JAVA搜索文件内容~

我这初学者第一次写博客~把我刚写的一段小代码粘贴上来吧packagelocal;importjava.io.BufferedReader;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.IOException;importjava.io.InputStreamReader;importjava.util.Ar

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

Java

selenium操作隐藏的元素(python+Java)

有时候我们会碰到一些元素不可见,这个时候selenium就无法对这些元素进行操作了。例如,下面的情况:Python页面主要通过“display:none”来控制整个下拉框不可见。这个时候如果直接操作这个下拉框,就会提示:fromseleniumimportwebdriverfromselenium.webdriver.support.selectimportSelectimportos,timedriver=webdriver.Chrome()file_p

系统 2019-09-27 17:52:49 2052

Java

“Java跌落向下,Python奋斗向前”,程序员:看哭了...

原文链接:https://edu.csdn.net/topic/python115?utm_source=csdn还记得被Java统治的时代吗?最近,这个格局已经被悄然打破,正是被来自曾经的小弟,新晋网红Python给硬生生拽下神坛。对此,Java曾表示强烈质疑,最近一份数据榜单悄悄来了!PLPY8月榜单官宣,Python连冠Java:你努力的样子像年轻时的我在最新一期榜单上,Python的份额高达28.08%,什么概念呢?举个例子:就是有个10个项目,其

系统 2019-09-27 17:50:17 2052

Java

Java EE 5:强大的功能、高生产率和低复杂性

随着平台的容器支持、开发人员工具、培训资源和开发人员社区体验等方面的改善,推动组织采用Java™Platform,EnterpriseEdition5(JavaEE5)的动力正在稳定增长。本文从较高层面介绍JavaEE5中新的生产率特性和API改进,并通过一个Web服务示例展示简化的开发模型。简介JavaEE技术是Java语言平台的扩展,支持开发人员创建可伸缩的强大的可移植企业应用程序。它为应用程序组件定义了四种容器:Web、EnterpriseJavaB

系统 2019-08-29 23:50:46 2052