Java

Java实现嵌入式数据库(文本数据库)代码实例

在Java中虽然提供了良好的数据库支持并有大量的第三方持久层框架作为辅助,但相对其他语言来讲在Java中使用数据库连接时造成的系统损耗也会比较多。因此对于数据吞吐量较少的系统而言,有时放弃数据库而改为使用本地文件来存储资料反而是种较好的选择,比如我们对于Java程序的启动配置通常会使用Properties及dom4j等从文本文件或xml文档读取数据,而不会一股脑丢到数据库中,这几乎已经是一种常识。但就功能而言,Properties的操作功能仅仅局限在对引入

系统 2019-08-29 22:35:56 1279

Java

java 生成 读取excel

importorg.apache.poi.hssf.usermodel.HSSFWorkbook;importorg.apache.poi.hssf.usermodel.HSSFSheet;importorg.apache.poi.hssf.usermodel.HSSFRow;importorg.apache.poi.hssf.usermodel.HSSFCell;importjava.io.FileOutputStream;publicclassCrea

系统 2019-08-29 22:35:06 1279

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 1279

Java

java解惑你知多少(七)

应用47.不可变的引用类型Java代码BigIntegertotal=BigInteger.ZERO;total.add(newBigInteger("1"));total.add(newBigInteger("10"));System.out.println(total);//0上面程序的结果为11吗?答案是0。BigInteger实例是不可变的。String、BigDecimal以及包装类型:Integer、Long、Short、Byte、Charac

系统 2019-08-29 22:02:46 1279

Java

Effective Java (并发)

六十六、同步访问共享的可变数据:在Java中很多时候都是通过synchronized关键字来实现共享对象之间的同步的。事实上,对象同步并不仅限于当多个线程操作同一可变对象时,仍然能够保证该共享对象的状态始终保持一致。与此同时,他还可以保证进入同步方法或者同步代码块的每个线程,都看到由同一个锁保护的之前所有的修改效果。Java的语言规范保证了读写一个变量是原子的,除非这个变量的类型为long或double。换句话说,读取一个非long或double类型的变量

系统 2019-08-29 22:02:40 1279

Java

Java多线程面试问题集锦

如果你即将去一家从事大型系统研发的公司进行Java面试,不可避免的会有多线程相关的问题。下面是一些针对初学者或者新手的问题,如果你已经具备良好的基础,那么你可以跳过本文,直接尝试针对进阶水平的Java多线程编程问题及解答。关联链接:Javamulti-threading-1|Javamulti-threading-2问题:进程和线程的区别解答:一个进程对应一个程序的执行,而一个线程则是进程执行过程中的一个单独的执行序列,一个进程可以包含多个线程。线程有时候

系统 2019-08-29 22:02:31 1279

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 1279

Java

JAVA面试题解惑系列(十一)——这些运算符你是

好东西分享有些运算符在JAVA语言中存在着,但是在实际开发中我们或许很少用到它们,在面试题中却时常出现它们的身影,对于这些运算符的含义和用法,你是否还记得呢?自增(++)和自减(--)运算符我们先来回答几个问题吧:Java代码inti=0;intj=i++;intk=--i;inti=0;intj=i++;intk=--i;这段代码运行后,i等于多少?j等于多少?k等于多少?太简单了?好,继续:Java代码inti=0;intj=i+++++i;intk=

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

Java

java中函数使用变长参数

java中函数使用变长参数2010-01-0121:09当参数个数不确定时,开发者很想使用变长参数,让调用者以更灵活的方式调用。此种方法和方法重载有同样的效果,但是个人感觉比方法重载用着简洁。一直知道Java支持变长参数函数,然而项目中一直没有用到,前几天在项目中看到前辈大量使用变长参数,感觉有很好的效果。特别是API设计中能够解决很多不确定因素。下面是一个简单的变长参数示例变长参数使用的形式是Type...argsName,即类型+省略号+参数名Java

系统 2019-08-12 09:29:32 1279

Java

Java线程:并发协作-死锁

Java线程:并发协作-死锁线程发生死锁可能性很小,即使看似可能发生死锁的代码,在运行时发生死锁的可能性也是小之又小。发生死锁的原因一般是两个对象的锁相互等待造成的。在《Java线程:线程的同步与锁》一文中,简述死锁的概念与简单例子,但是所给的例子是不完整的,这里给出一个完整的例子。/***Java线程:并发协作-死锁**@authorAdministrator2009-11-422:06:13*/publicclassTest{publicstaticv

系统 2019-08-12 09:29:31 1279

Java

maven web 项目中启动报错java.lang.ClassNotFo

本篇文章主要介绍了"mavenweb项目中启动报错java.lang.ClassNotFoundException:org.springframework.web.util.Log4jConfigListener",主要涉及到mavenweb项目中启动报错java.lang.ClassNotFoundException:org.springframework.web.util.Log4jConfigListener方面的内容,对于mavenweb项目中启动

系统 2019-08-12 09:26:47 1279

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 1279

Java

Docker学习笔记之一,搭建一个JAVA Tomcat运行

前言Docker旨在提供一种应用程序的自动化部署解决方案,在Linux系统上迅速创建一个容器(轻量级虚拟机)并部署和运行应用程序,并通过配置文件可以轻松实现应用程序的自动化安装、部署和升级,非常方便。因为使用了容器,所以可以很方便的把生产环境和开发环境分开,互不影响,这是docker最普遍的一个玩法。更多的玩法还有大规模web应用、数据库部署、持续部署、集群、测试环境、面向服务的云计算、虚拟桌面VDI等等。主观的印象:Docker使用Go语言编写,用cgr

系统 2019-08-12 01:32:40 1279

Java

突发!Python再次第一,Java和C下降,凭什么?

编程语言流行指数(PYPL)排行榜近日公布了2019年8月份榜单。在最新一期榜单上,Python的份额高达28.73%,再次蝉联第一,并且增长4.5%,同时成为增长势头较好的语言。而被挤到第二蝉联Java,同比下跌2.1个百分点,C/C++已经被挤出前三甲。正所谓“人红是非多”,最近Python就遇到了这样的问题。与国际技术社区上一片「形势大好」对比鲜明的是,国内技术圈却一直存在对Python,「力挺」和「吃瓜」两派阵营,针锋相对,那么,Python到底有

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

Java

从Python程序中访问Java类的简单示例

fromjniusimportautoclass>>>Stack=autoclass('java.util.Stack')>>>stack=Stack()>>>stack.push('hello')>>>stack.push('world')>>>stack.pop()'world'>>>stack.pop()'hello'上面的代码中,我们使用autoclass函数,创建了一个类型代理,对应着Java中java.util.Stack类的所有方法和字段属性

系统 2019-09-27 17:49:06 1278