java

阅读 / 问答 / 标签

java,write()方法后写flush()的作用?

flush():这个是代表刷新缓冲区的意思,加上这句话意思是把当前的缓冲刷新

关于JAVA.IO中的flush()方法

简单来说,flush()方法是输出储存在内存中全部的内容(批量输出)。 常用比如FileWriter类中就是一个典型,除了可以使用flush输出,最后调用close方法也会批量输出。 import java.io.FileWriter; import java.io.IOException; public class A04 { public static void main(String args[]) { FileWriter fw; try { fw = new FileWriter("C:\try.txt"); fw.write("Hello"); //fw.close(); //这句话不加,无法写入文件,文件空白! System.out.println("OK"); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }

java中flush()刷新缓冲区有什么作用?

具体原理太长 我给你个网址吧:http://fsz521job.itpub.net/post/5606/34827

有关于java flush() 的问题,懂的进,谢谢!

bw.flush();是建立一个缓冲区,去掉它就相当于去掉了缓冲区。

JAVA中trace()有什么用

是不是自己定义的方法啊

Java流中的flush方法困惑

dataOutputStream.write(b); 这句就是输出数据啊

java中,PrintWriter类的flush()是做什么用的?

flush,字面上是冲刷的意思。flush()方法用于强制将内存缓冲区的数据流刷入文件。进行流的操作时,数据首先会被读到内存中,然后再写到文件中。在进行流的操作时,我们都知道最后需要调用out.close()这个方法,如果最后调用了.close()方法的话,是不需要在这之前调用.flush()的,因为.close()方法内部会自动调用.flush()。

用Java求一元二次方程ax2+bx+c=0的根,要求a、b、c从控制台输入

其实你可以搜搜二分搜索算法 对你会更有用

JavaScript 原生 提取excel文件 需要学习那些知识或者哪方面的,不要插件。最好有例子。

<script type="text/javascript">function read_excel(){ var filePath="D:abcd9.com.xls"; //要读取的xls var sheet_id=2; //读取第2个表 var row_start=3; //从第3行开始读取 var tempStr=""; try{ var oXL = new ActiveXObject("Excel.application"); //创建Excel.Application对象 }catch(err) { alert(err); }

JAVA WebService 允许最大数据多少

这个不带了解!也不知道你是调用还是怎么了的! 但是传进去的都不会遗留到WebService 必要的数据会存入库中!还有具体的xml文件!不知道你说的啥玩意

java中FileInputStream的available()方法的作用是什么?

①如果要从网络中下载文件时,我们知道网络是不稳定的,也就是说网络下载时,read()方法是阻塞的,说明这时我们用inputStream.available()获取不到文件的总大小。x0dx0a此时就需要通过x0dx0aHttpURLConnection httpconn = (HttpURLConnection)url.openConnection(); x0dx0a httpconn.getContentLength();//获取文件长度x0dx0a来获取文件的大小。x0dx0a②如果是本地文件的话,用此方法就返回实际文件的大小。x0dx0a③这个方法其实是通过文件描述符获取文件的总大小,而并不是事先将磁盘上的文件数据全部读入流中,再获取文件总大小。x0dx0a希望能用心去体会一下,选择性使用

java哪个类库解析xml性能最快

解析xml首先要看你的需求,你如果需要用节点式的访问甚至搜索,肯定要用dom系列如果你是从网络上获取xml 解析成object,那肯定StAX效率高

Java程序员常用的开发工具有哪些?

在当今的互联网时代中,Java语言越来越流行。关于Java的一些常用工具也需要我们不断的掌握和理解。下面云南java培训为大家介绍,Java程序员常用的开发工具有哪些。一、ServiceLoader-加载服务Java开发人员通常希望区分使用什么和创建什么,昆明java课程培训机构发现通常是通过创建一个描述组件操作的接口和使用某种中介创建组件实例。二、SCanner无数的Java开发工具可以帮助您构建解析器,许多函数语言已经成功地构建解析器库(解析器选择器)。但是,如果您想解析逗号分隔的值文件或空格分隔的文本文件呢?云南java课程发现大多数工具都太大了,不能在这里使用,String.split()是不够的。三、TimerJava.util.Timer和TimerTask类提供了一种方便且相对简单的基于周期性或临时延迟执行任务的方法。四、StAX-解析XML文件当许多Java开发人员首次使用XML时,分析XML文件的基本方法有两种。云南昆明IT培训认为SAX解析器实际上是一个大型状态机,程序员对事件调用一系列回调方法。DOM分析程序将整个XML文档添加到内存中,分离并分割成各个对象,并将它们连接起来形成树。

Java程序员常用的开发工具有哪些?

在当今的互联网时代中,Java语言越来越流行。关于Java的一些常用工具也需要我们不断的掌握和理解。下面北京java培训为大家介绍,Java程序员常用的开发工具有哪些。一、ServiceLoader-加载服务Java开发人员通常希望区分使用什么和创建什么,北京java课程培训机构发现通常是通过创建一个描述组件操作的接口和使用某种中介创建组件实例。二、SCanner无数的Java开发工具可以帮助您构建解析器,许多函数语言已经成功地构建解析器库(解析器选择器)。但是,如果您想解析逗号分隔的值文件或空格分隔的文本文件呢?北京java课程发现大多数工具都太大了,不能在这里使用,String.split()是不够的。三、TimerJava.util.Timer和TimerTask类提供了一种方便且相对简单的基于周期性或临时延迟执行任务的方法。四、StAX-解析XML文件当许多Java开发人员首次使用XML时,分析XML文件的基本方法有两种。北京北京IT培训认为SAX解析器实际上是一个大型状态机,程序员对事件调用一系列回调方法。DOM分析程序将整个XML文档添加到内存中,分离并分割成各个对象,并将它们连接起来形成树。

Java程序员常用的开发工具有哪些

在当今的互联网时代中,Java语言越来越流行。关于Java的一些常用工具也需要我们不断的掌握和理解。下面北京java培训为大家介绍,Java程序员常用的开发工具有哪些。一、ServiceLoader-加载服务Java开发人员通常希望区分使用什么和创建什么,昌平java课程培训机构发现通常是通过创建一个描述组件操作的接口和使用某种中介创建组件实例。二、SCanner无数的Java开发工具可以帮助您构建解析器,许多函数语言已经成功地构建解析器库(解析器选择器)。但是,如果您想解析逗号分隔的值文件或空格分隔的文本文件呢?北京java课程发现大多数工具都太大了,不能在这里使用,String.split()是不够的。三、TimerJava.util.Timer和TimerTask类提供了一种方便且相对简单的基于周期性或临时延迟执行任务的方法。四、StAX-解析XML文件当许多Java开发人员首次使用XML时,分析XML文件的基本方法有两种。北京昌平IT培训认为SAX解析器实际上是一个大型状态机,程序员对事件调用一系列回调方法。DOM分析程序将整个XML文档添加到内存中,分离并分割成各个对象,并将它们连接起来形成树。

Java程序员常用的开发工具有哪些?

在当今的互联网时代中,Java语言越来越流行。关于Java的一些常用工具也需要我们不断的掌握和理解。下面南邵java培训为大家介绍,Java程序员常用的开发工具有哪些。一、ServiceLoader-加载服务Java开发人员通常希望区分使用什么和创建什么,南邵java课程培训机构发现通常是通过创建一个描述组件操作的接口和使用某种中介创建组件实例。二、SCanner无数的Java开发工具可以帮助您构建解析器,许多函数语言已经成功地构建解析器库(解析器选择器)。但是,如果您想解析逗号分隔的值文件或空格分隔的文本文件呢?南邵java课程发现大多数工具都太大了,不能在这里使用,String.split()是不够的。三、TimerJava.util.Timer和TimerTask类提供了一种方便且相对简单的基于周期性或临时延迟执行任务的方法。四、StAX-解析XML文件当许多Java开发人员首次使用XML时,分析XML文件的基本方法有两种。南邵南邵IT培训认为SAX解析器实际上是一个大型状态机,程序员对事件调用一系列回调方法。DOM分析程序将整个XML文档添加到内存中,分离并分割成各个对象,并将它们连接起来形成树。

Java程序员常用的开发工具有哪些?

在当今的互联网时代中,Java语言越来越流行。关于Java的一些常用工具也需要我们不断的掌握和理解。下面昌平java培训为大家介绍,Java程序员常用的开发工具有哪些。一、ServiceLoader-加载服务Java开发人员通常希望区分使用什么和创建什么,北京java课程培训机构发现通常是通过创建一个描述组件操作的接口和使用某种中介创建组件实例。二、SCanner无数的Java开发工具可以帮助您构建解析器,许多函数语言已经成功地构建解析器库(解析器选择器)。但是,如果您想解析逗号分隔的值文件或空格分隔的文本文件呢?昌平java课程发现大多数工具都太大了,不能在这里使用,String.split()是不够的。三、TimerJava.util.Timer和TimerTask类提供了一种方便且相对简单的基于周期性或临时延迟执行任务的方法。四、StAX-解析XML文件当许多Java开发人员首次使用XML时,分析XML文件的基本方法有两种。昌平北京IT培训认为SAX解析器实际上是一个大型状态机,程序员对事件调用一系列回调方法。DOM分析程序将整个XML文档添加到内存中,分离并分割成各个对象,并将它们连接起来形成树。

用java编程的软件叫什么?

eclipseuff0ceclipseuff0ceclipse

Java程序员常用的开发工具有哪些?

在当今的互联网时代中,Java语言越来越流行。关于Java的一些常用工具也需要我们不断的掌握和理解。下面沙河java培训为大家介绍,Java程序员常用的开发工具有哪些。一、ServiceLoader-加载服务Java开发人员通常希望区分使用什么和创建什么,沙河java课程培训机构发现通常是通过创建一个描述组件操作的接口和使用某种中介创建组件实例。二、SCanner无数的Java开发工具可以帮助您构建解析器,许多函数语言已经成功地构建解析器库(解析器选择器)。但是,如果您想解析逗号分隔的值文件或空格分隔的文本文件呢?沙河java课程发现大多数工具都太大了,不能在这里使用,String.split()是不够的。三、TimerJava.util.Timer和TimerTask类提供了一种方便且相对简单的基于周期性或临时延迟执行任务的方法。四、StAX-解析XML文件当许多Java开发人员首次使用XML时,分析XML文件的基本方法有两种。沙河沙河IT培训认为SAX解析器实际上是一个大型状态机,程序员对事件调用一系列回调方法。DOM分析程序将整个XML文档添加到内存中,分离并分割成各个对象,并将它们连接起来形成树。

javascript 消除图片宽度属性

PicBox.width = auto

java duplicate class,该怎么解决

java duplicate class的意思是同一个包下的类名重复了。检查一下,改成不同的类名就可以了。

java中出现duplicate local variable

是由于定义了两个同名变量引起的。【基本解释】:Duplicate local variable session,顾名思义,就是重复的局部变量session。也就是说在你写的页面中,已经存在了一个session。【对象】:1、输入输出对象 : HttpServletRequest的request, HttpServletResponse的response, JspWriter的out;2、作用域通信对象 : HttpSession的session, ServletContext的application, PageContext的pageContext;3、servlet对象 : Object的page, ServletConfig的config;4、错误对象 : Throwable的exception。【代码】HttpSession session = (HttpSession)request.getSession(true);session.setAttribute("userid", userid)。HttpServletRequest.getSession(true);这也是JSP中隐含的 session对象的来历。也就是说,我的jsp文件中已经存在了一个session对象,在创建一个当然会出现问题。如果你实在想在创建一个session的话,可以考虑重新命名。比如session1,session2。

JAVA 中 new font() 中的参数

以后说的很对 ,好好看看

javascript中是什么意思 有什么用

详细请点击:http://www.w3school.com.cn/html/index.asp

java代码通过n发送请求获取手机在线网站的归属地信息时,数据是空的

我怀疑他是到达这个页面以后过一段是件又发送一个ajax请求,才把获取的数据内容根据元素id填充到页面,所以你程序访问这个页面只能得到他空的没有数的页面,你可能需要找找他获取数据请求的url找到了,他实际请求的是"/locating/showji.com.aspx?m=11111111111&output=json&callback=querycallback&timestamp=1412826381489"这个地址,把m后面换成你要查的号码就可以了返回值为querycallback({"Mobile":"11111111111","QueryResult":"True","TO":"中国联通","Corp":"中国联通","Province":"北京","City":"北京","AreaCode":"010","PostCode":"100000","VNO":"","Card":""});我用自己手机号测的,可以

b=b.substring(0, b.length()-1);可能有什么用?java

比如b的长度是n.截取前n-1个字符

“java application”指的是什么?

Java应用程序,应用程序运行于本计算机,与本机用户交互,完成一定的功能,像word、excel、windows录音机都属于应用程序,Java应用程序就是用Java编写的应用程序,我们入门第一步写的HelloWorld就是javaapplication。

Java 关于Font类的字体设置

设计字体显示效果 Font mf = new Font(String 字体,int 风格,int 字号);字体:TimesRoman, Courier, Arial等风格:三个常量 lFont.PLAIN, Font.BOLD, Font.ITALIC字号:字的大小(磅数)设置组件当前使用的字体:setFont(Font fn)获取组件当前使用的字体:getFont()

“java application”指的是什么?

在Java语言中,能够独立运行的程序称为Java应用程序(Application)。x0dx0aJava语言还有另外一种程序——Applet程序。Applet程序(也称Java小程序)是运行于各种网页文件中,用于增强网页的人机交互、动画显示、声音播放等功能的程序。x0dx0a Java Applet和Java Application在结构方面的主要区别表现在:x0dx0a (1)运行方式不同。Java Applet程序不能单独运行,它必须依附于一个用HTML语言编写的网页并嵌入其中,通过与Java兼容的浏览器来控制执行。 Java Application是完整的程序,可以独立运行,只要有支持Java的虚拟机,它就可以独立运行而不需要其他文件的支持。x0dx0a (2)运行工具不同。运行Java Applet程序的解释器不是独立的软件,而是嵌在浏览器中作为浏览器软件的一部分。Java Application程序被编译以后,用普通的Java 解释器就可以使其边解释边执行,而Java Applet必须通过网络浏览器或者Applet观察器才能执行。

“java application”指的是什么?

在Java语言中,能够独立运行的程序称为Java应用程序(Application)。Java语言还有另外一种程序——Applet程序。Applet程序(也称Java小程序)是运行于各种网页文件中,用于增强网页的人机交互、动画显示、声音播放等功能的程序。Java Applet和Java Application在结构方面的主要区别表现在:(1)运行方式不同。Java Applet程序不能单独运行,它必须依附于一个用HTML语言编写的网页并嵌入其中,通过与Java兼容的浏览器来控制执行。 Java Application是完整的程序,可以独立运行,只要有支持Java的虚拟机,它就可以独立运行而不需要其他文件的支持。(2)运行工具不同。运行Java Applet程序的解释器不是独立的软件,而是嵌在浏览器中作为浏览器软件的一部分。Java Application程序被编译以后,用普通的Java 解释器就可以使其边解释边执行,而Java Applet必须通过网络浏览器或者Applet观察器才能执行。application还是应用程序(application program)的缩写。一个应用程序通常是指能够执行某种功能的软件程序。比如,文字处理程序、数据库程序、网络浏览器、开发工具、绘图、图像编辑工具以及通信工具等等都可以是应用程序。应用程序能够利用计算机操作系统的某些服务,也可以利用其它应用程序所支持的服务。通常这种同操作系统或其它应用程序进行交互的应用程序请求称为应用程序接口,也就是常常提起的API。在计算机键盘上,标准键盘上只有这个键的图标,而没有名称. Application键在键盘右Alt键的右侧第二个,右Ctrl键的左侧。为一个下拉菜单和一个鼠标的选择光标图案,它的作用相当于鼠标右键,用来激活Windows或程序中的菜单,即我们可以通过按下它来打开某一项目的快捷方式菜单。

在java中怎样创建一个Application?

Application即应用程序,而Applet是小应用程序。下面,我写了个应用程序。你在文本框中输入内容,再按回车键或者单击按钮执行命令,如果输入的内容是"chuqu",则会关闭应用程序。代码如下:import java.awt.TextField;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;public class 退出 extends JFrame implements ActionListener, KeyListener{ JLabel lab; JButton btn; TextField text_chuqu; public 退出() { lab=new JLabel("请输入数据:"); lab.setBounds(20, 30, 100, 20); text_chuqu=new TextField(); text_chuqu.setBounds(135, 30, 80, 20); btn=new JButton("执行"); btn.setBounds(100,100, 60, 40); this.setSize(300,240); this.setLocation(200,140);// this.setResizable(false); this.setLayout(null); this.add(lab); this.add(text_chuqu); this.add(btn); //添加事件监听 addListener(); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); } private void addListener() { btn.addActionListener(this); text_chuqu.addKeyListener(this); } public static void main(String[] args) { new 退出(); } public void actionPerformed(ActionEvent e) { if(e.getSource()==btn){ //判断条件 if(text_chuqu.getText().trim().equals("chuqu")){// this.dispose();//关闭窗口并释放空间 System.exit(0) ;//正常退出 } } } public void keyPressed(KeyEvent e) { if(e.getKeyChar()==e.VK_ENTER){ //判断条件 if(text_chuqu.getText().trim().equals("chuqu")){ this.dispose();//关闭窗口并释放空间// System.exit(0) ;//正常退出 } } } public void keyReleased(KeyEvent e) {} public void keyTyped(KeyEvent e) { }}

java中的时间操作问题,难题求解

用SQL语句吧。

JComponent与Component有什么区别,我在一个java程序里看到了Component

component 是一个具有图形表示能力的对象,可在屏幕上显示,并可与用户进行交互。典型图形用户界面中的按钮、复选框和滚动条都是组件示例。Component 类是与菜单不相关的 Abstract Window Toolkit 组件的抽象超类。还可以直接扩展类 Component 来创建一个轻量级组件。轻量级组件是与本机不透明窗口不相关的组件。java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponentJComponent类是除顶层容器外所有 Swing 组件的基类。要使用继承自 JComponent 的组件,必须将该组件置于一个根为顶层 Swing 容器的包含层次结构(containment hierarchy)中。顶层 Swing 容器(如 JFrame、JDialog 和 JApplet)是专门为其他 Swing 组件提供绘制自身场所的组件。上面的是JDK的API的描述,Component类是抽象类,是JComponent的父类的父类,Component是重量型组件,是AWT包的,JComponent是轻量型组件,是swing包的。

java中的一段,谁能读懂?Component干什么用的

这段看起来好像是实现图像拖拽。帖下component的源代码

java中for和foreach的区别

for是用来做循环的,foreach是可以用来遍历数组的例如:for(inti=1;i<10;i++){int sum=0;sum=sum+i;}System.out.println(sum);这是求1到10累加的int[]a=new int[1,2,3,4,5,6];foreach(int i in a){System.out.println(i);}遍历数组a中的元素

java中for或foreach是如何遍历数组的?

//定义一个String类型的一维数组String[] names=new String[5];//为数组赋值for (int i = 0; i < names.length; i++) {names[i]=Integer.toString(i);}//使用foreach遍历数组int index=0;for (String name : names) {System.out.println("第"+index+"元素是:"+name);index++;}//使用for遍历数组for (int i = 0; i < names.length; i++) {System.out.println("第"+i+"元素是:"+names[i]);}这里我通过for循环和foreach遍历了同一个String类型的数组,这里我说的比较简单,你要是想要了解for和foreach的内部机制,你可以去网上搜索秒秒学,这个网站上就有对于java基础知识专门的讲解。

java中for与foreach的区别?

for是Java的循环关键字 foreach应该是前台的c:foreach吧 这是el表达式,都有循环功能,但是这区别 唔怎么说呢 就像牛和羊,虽然都能杀了吃肉,但是区别 你说牛和羊有区别么

java中for each的用法

二楼代码很全,可以参考

java foreach怎样表示循环次数

既然是循环,那么除了for 那就是while ,既然不用for,那么你想怎样?

关于java中的for循环

for语句的加强版

java怎么用foreach算出一组数组的总和

int[] array = [1...];int sum = 0;for(int i:array){sum +=i;}System.out.println(sum);

java中的foreach语句怎么写

Java 中的 foreach 语句对应基本格式为:for([type] varName : collection) { // process}如,要遍历一个整数数组的元素,可以这么写:int[] arr = new int[] {1, 2, 3};for(int i : arr) { System.out.println(i);}

java使用foreach语句遍历二维数组如何实现?

foreach嵌套

LR下运行JAVA脚本时报该错误,求高手帮忙

估计你java环境变量配置出问题了,, 你配置好环境变量就行了,,,我的电脑”-->"高级"-->"环境变量"一般电脑都有path路径,你的只需在path路径后加上path;C:Program FilesJavajdk1.6.0_24inclasspath路径上这么设置.;C:Program FilesJavajdk1.6.0_24libdt.jar;C:Program FilesJavajdk1.6.0_24lib ools.jar注意第一个的点号,C:Program FilesJavajdk1.6.0_24这个是jdk的安装路径,根据不同版本,你参照设置就行了,,, 后在开始-cmd-后输入javac,如果系统找到路径,你就设置成功了,,

java servlet写投票系统,用数据库统计票数问题

对,1L说了。

用java做一个简单的投票系统,有三名表演者,代号,1.2.3。观众依次投票,已数字0结束,然后还

import java.io.BufferedReader;import java.io.InputStreamReader;public class Vote {public static void main(String args[]) {try {String[] persons = new String[]{"1","2","3"};Integer[] votes = new Integer[]{0,0,0};BufferedReader sin = new BufferedReader(new InputStreamReader(System.in));String readline;System.out.println("================投票开始===============");System.out.println("请按1,2,3投票,Enter确认");System.out.println("按0-->Enter结束投票,公布结果 ");readline = sin.readLine(); // 从系统标准输入读入一字符串while (!readline.equals("0")) {String voteStr = readline;if(persons[0].equals(voteStr)){votes[0] +=1;}else if(persons[1].equals(voteStr)){votes[1] +=1;}else if(persons[2].equals(voteStr)){votes[2] +=1;}else{System.out.println("无效的投票!");}readline = sin.readLine(); // 从系统标准输入读入一字符串} // 继续循环System.out.println("================投票结束===============");System.out.println("================结果公布===============");System.out.println(persons[0]+"================"+persons[1]+"==============="+persons[2]);System.out.println(votes[0]+"================"+votes[1]+"==============="+votes[2]);} catch (Exception e) {System.out.println("Error" + e); // 出错,则打印出错信息}}}

java Timestamp类型的生成

前者是调用long类型的,后者是调用字符串类型的

java 中的Date和Timestamp的区别

Timestamp是一个与 java.util.Date 类有关的瘦包装器 (thin wrapper),它允许 JDBC API 将该类标识为 SQL TIMESTAMP 值。它添加保存 SQL TIMESTAMP 毫微秒值和提供支持时间戳值的 JDBC 转义语法的格式化和解析操作的能力。 注:此类型由 java.util.Date 和单独的毫微秒值组成。只有整数秒才会存储在 java.util.Date 组件中。小数秒(毫微秒)是独立存在的。传递 java.util.Date 类型的值时,Timestamp.equals(Object) 方法永远不会返回 true,因为日期的毫微秒组件是未知的。因此,相对于 java.util.Date.equals(Object) 方法而言,Timestamp.equals(Object) 方法是不对称的。此外,hashcode 方法使用基础 java.util.Date 实现并因此在其计算中不包括毫微秒。 鉴于 Timestamp 类和上述 java.util.Date 类之间的不同,建议代码一般不要将 Timestamp 值视为 java.util.Date 的实例。Timestamp 和 java.util.Date 之间的继承关系实际上指的是实现继承,而不是类型继承。

Java中Date和Timestamp的区别

Timestamp是一个与 java.util.Date 类有关的瘦包装器 (thin wrapper),它允许 JDBC API 将该类标识为 SQL TIMESTAMP 值。它添加保存 SQL TIMESTAMP 毫微秒值和提供支持时间戳值的 JDBC 转义语法的格式化和解析操作的能力。 注:此类型由 java.util.Date 和单独的毫微秒值组成。只有整数秒才会存储在 java.util.Date 组件中。小数秒(毫微秒)是独立存在的。传递 java.util.Date 类型的值时,Timestamp.equals(Object) 方法永远不会返回 true,因为日期的毫微秒组件是未知的。因此,相对于 java.util.Date.equals(Object) 方法而言,Timestamp.equals(Object) 方法是不对称的。此外,hashcode 方法使用基础 java.util.Date 实现并因此在其计算中不包括毫微秒。 鉴于 Timestamp 类和上述 java.util.Date 类之间的不同,建议代码一般不要将 Timestamp 值视为 java.util.Date 的实例。Timestamp 和 java.util.Date 之间的继承关系实际上指的是实现继承,而不是类型继承。

java 如何取得系统当前时间(Timestamp类型的)

new Date();

java的类Date和Timestamp什么区别

Timestamp是一个与 java.util.Date 类有关的瘦包装器 (thin wrapper),它允许 JDBC API 将该类标识为 SQL TIMESTAMP 值。它添加保存 SQL TIMESTAMP 毫微秒值和提供支持时间戳值的 JDBC 转义语法的格式化和解析操作的能力。 注:此类型由 java.util.Date 和单独的毫微秒值组成。只有整数秒才会存储在 java.util.Date 组件中。小数秒(毫微秒)是独立存在的。传递 java.util.Date 类型的值时,Timestamp.equals(Object) 方法永远不会返回 true,因为日期的毫微秒组件是未知的。因此,相对于 java.util.Date.equals(Object) 方法而言,Timestamp.equals(Object) 方法是不对称的。此外,hashcode 方法使用基础 java.util.Date 实现并因此在其计算中不包括毫微秒。 鉴于 Timestamp 类和上述 java.util.Date 类之间的不同,建议代码一般不要将 Timestamp 值视为 java.util.Date 的实例。Timestamp 和 java.util.Date 之间的继承关系实际上指的是实现继承,而不是类型继承。

intelli idea 怎么运行java

1、写代码时用Alt-Insert(Code|Generate…)可以创建类里面任何字段的getter与setter方法。2、CodeCompletion(代码完成)属性里的一个特殊的变量是,激活Ctrl-Alt-Space可以完成在或不在当前文件里的类名。如果类没有引入则import标志会自动创建。3、使用Ctrl-Shift-V快捷键可以将最近使用的剪贴板内容选择插入到文本。使用时系统会弹出一个含有剪贴内容的对话框,从中你可以选择你要粘贴的部分。4、利用CodeCompletion(代码完成)属性可以快速地在代码中完成各种不同地语句,方法是先键入一个类名地前几个字母然后再用Ctrl-Space完成全称。如果有多个选项,它们会列在速查列表里。5、用Ctrl-/与Ctrl-Shift-/来注释/反注释代码行与代码块。

如何用Java得到Excel中Formula的值

switch (cell.getCellTypeEnum()) {case BOOLEAN:return cell.getBooleanCellValue() ? "TRUE" : "FALSE";case FORMULA://公式单元格try {return cell.getStringCellValue();} catch (Exception e) {if (DateUtil.isCellDateFormatted(cell)) {Date date = cell.getDateCellValue();return DateFormatUtils.format(date, "yyyy-MM-dd HH:mm:ss");} else {DecimalFormat df = new DecimalFormat("0.00");return (df.format(cell.getNumericCellValue()));}}case NUMERIC:if (DateUtil.isCellDateFormatted(cell)) {Date date = cell.getDateCellValue();return DateFormatUtils.format(date, "yyyy-MM-dd HH:mm:ss");} else {DecimalFormat df = new DecimalFormat("0.00");return (df.format(cell.getNumericCellValue()));}case STRING:return cell.getStringCellValue();default:return "";}

java 初学java 问个很傻的问题 java除了可以写在记事本之外,有没有类似visdul studio的那种软件?

MyEclipse 系列的

idea 有什么集成java分析工具

常见的十四种Java开发工具的特点1、JDK(JavaDevelopmentKit)Java开发工具集从初学者角度来看,采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系,有利于理解Java面向对象的设计思想。JDK的另一个显著特点是随着Java(J2EE、J2SE以及J2ME)版本的升级而升级。但它的缺点也是非常明显的就是从事大规模企业级Java应用开发非常困难,不能进行复杂的Java软件开发,也不利于团体协同开发。2、JavaWorkshop3、NetBeans与SunJavaStudio5NetBeans是开放源码的Java集成开发环境(IDE),适用于各种客户机和Web应用。SunJavaStudio是Sun公司最新发布的商用全功能JavaIDE,支持Solaris、Linux和Windows平台,适于创建和部署2层JavaWeb应用和n层J2EE应用的企业开发人员使用。NetBeans是业界第一款支持创新型Java开发的开放源码IDE。开发人员可以利用业界强大的开发工具来构建桌面、Web或移动应用。同时,通过NetBeans和开放的API的模块化结构,第三方能够非常轻松地扩展或集成NetBeans平台。NetBeans3.5.1主要针对一般Java软件的开发者,而JavaOneStudio5则主要针对企业做网络服务等应用的开发者。Sun不久还将推出ProjectRave,其目标是帮助企业的开发者进行软件开发。NetBeans3.5.1版本与其他开发工具相比,最大区别在于不仅能够开发各种台式机上的应用,而且可以用来开发网络服务方面的应用,可以开发基于J2ME的移动设备上的应用等。在NetBeans3.5.1基础上,Sun开发出了JavaOneStudio5,为用户提供了一个更加先进的企业编程环境。在新的JavaOneStudio5里有一个应用框架,开发者可以利用这些模块快速开发自己在网络服务方面的各种应用程序。4、Borland的JBuilderJbuilder进入了Java集成开发环境的王国,它满足很多方面的应用,尤其是对于服务器方以及EJB开发者们来说。下面简单介绍一下Jbuilder的特点:1)Jbuilder支持最新的Java技术,包括Applets、JSP/Servlets、JavaBean以及EJB(EnterpriseJavaBeans)的应用。2)用户可以自动地生成基于后端数据库表的EJBJava类,Jbuilder同时还简化了EJB的自动部署功能.此外它还支持CORBA,相应的向导程序有助于用户全面地管理IDL(分布应用程序所必需的接口定义语言InterfaceDefinitionLanguage)和控制远程对象。3)Jbuilder支持各种应用服务器。Jbuilder与InpriseApplicationServer紧密集成,同时支持WebLogicServer,支持EJB1.1和EJB2.0,可以快速开发J2EE的电子商务应用。4)Jbuilder能用Servlet和JSP开发和调试动态Web应用。5)利用Jbuilder可创建(没有专有代码和标记)纯Java2应用。由于Jbuilder是用纯Java语言编写的,其代码不含任何专属代码和标记,它支持最新的Java标准。6)Jbuilder拥有专业化的图形调试介面,支持远程调试和多线程调试,调试器支持各种JDK版本,包括J2ME/J2SE/J2EE。JBuilder环境开发程序方便,它是纯的Java开发环境,适合企业的J2EE开发;缺点是往往一开始人们难于把握整个程序各部分之间的关系,对机器的硬件要求较高,比较吃内存,这时运行速度显得较慢。5、Oracle的JDeveloperOracle9iJDeveloper(定为9.0版,最新为10g)为构建具有J2EE功能,XML和Webservices的复杂的,多层的Java应用程序提供了一个完全集成的开发环境。它为运用Oracle9i数据库和应用服务器的开发人员提供特殊的功能和增强性能,除此以外,它也有资格成为用于多种用途Java开发的一个强大的工具。Oracle9iJDeveloper的主要特点如下:①具有UML(UnifiedModelingLanguage,一体化建模语言)建模功能。可以将业务对象及e-business应用模型化。②配备有高速Java调试器(Debuger)、内置Profiling工具、提高代码质量的工具“CodeCoach”等。③支持SOAP(SimpleObjectAccessProtocol)“简单对象访问协议”、UDDI(UniversalDescription,DiscoveryandIntegration)“统一描述、发现和集成协议”、WSDL(WebServicesDescriptionLanguage)“WEB服务描述语言”等Web服务标准。JDeveloper不仅仅是很好的Java编程工具,而且是OracleWeb服务的延伸,支持ApacheSOAP,以及9iAS,可扩充的环境和XML和WSDL语言紧密相关。Oracle9iJdeveloper完全利用Java编写,能够与以前的Oracle服务器软件以及其他厂商支持J2EE的应用服务器产品相兼容,而且在设计时着重针对Oracle9i,能够无缝化跨平台之间的应用开发,提供了业界第一个完整的、集成了J2EE和XML的开发环境,允许开发者快速开发可以通过Web、无线设备及语音界面访问的Web服务和交易应用,以往只能通过将传统Java编程技巧与最新模块化方式结合到一个单一集成的开发环境中之后才能完成J2EE应用开发生命周期管理的事实,从根本上得到改变。缺点就是对于初学者来说,较复杂,也比较难。6、IBM的VisualAgeforJavaVisualAgeforJava是一个非常成熟的开发工具,它的特性以于IT开发者和业余的Java编程人员来说都是非常用有用的。它提供对可视化编程的广泛支持,支持利用CICS连接遗传大型机应用,支持EJB的开发应用,支持与Websphere的集成开发,方便的bean创建和良好的快速应用开发(RAD)支持和无文件式的文件处理。IBM为建设Web站点所推出的WebSphereStudioAdvancedEdition及其包含的VisualAgeforJavaProfessionalEdition软件已全面转向以Java为中心,这样,Java开发人员对WebSphere全套工具的感觉或许会好了许多。Studio所提供的工具有:Web站点管理、快速开发JDBC页向导程序、HTML编辑器和HTML语法检查等。这确实是个不错的HTML站点页面编辑环境。Studio和VisualAge集成度很高,菜单中提供了在两种软件包之间快速移动代码的选项。这就让使用Studio的Web页面设计人员和使用VisualAge的Java程序员可以相互交换文件、协同工作。VisualAgeforJava支持团队开发,内置的代码库可以自动地根据用户做出改动而修改程序代码,这样就可以很方便地将目前代码和早期版本做出比较。与VisualAge紧密结合的WebsphereStudio本身并不提供源代码和版本管理的支持,它只是包含了一个内置文件锁定系统,当编辑项目的时候可以防止其他人对这些文件的错误修改,软件还支持诸如MicrosoftVisualSourceSafe这样的第三方源代码控制系统。VisualAgeforJava完全面向对象的程序设计思想使得开发程序非常快速、高效。你可以不编写任何代码就可以设计出一个典型的应用程序框架。VisualAgeforJava作为IBM电子商务解决方案其中产品之一,可以无缝地与其他IBM产品,如WebSphere、DB2融合,迅速完成从设计、开发到部署应用的整个过程。VisualAgeforJava独特的管理文件方式使其集成外部工具非常困难,你无法让VisualAgeforJava与其他工具一起联合开发应用。7、BEA的WebLogicWorkshopBEAWebLogicWorkshop是一个统一、简化、可扩展的开发环境,使所有的开发人员都能在BEAWebLogicEnterprisePlatform之上构建基于标准的企业级应用,从而提高了开发部门的生产力水平,加快了价值的实现。WebLogicWorkshop除了提供便捷的Web服务之外,它能够用于创建更多种类的应用。作为整个BEAWebLogicPlatform的开发环境。不管是创建门户应用、编写工作流、还是创建Web应用,Workshop8.1都可以帮助开发人员更快更好地完成。WebLogicWorkshop的主要特点如下:①使J2EE开发切实可行,提高开发效率BEAWebLogicWorkshop使开发人员远离J2EE内在的复杂性,集中精力专注业务逻辑,无须操心单调乏味的基础结构代码。这种创新意味着,已被企业验证的J2EE的强大功能,最终被大多数不熟悉Java和J2EE的应用开发人员所掌握,从而使IT部门的工作效率提高一个数量级。可视化设计器以及直观的概念,如事件、属性和控件等,实现了基于事件的开发。Workshop简化的程序设计模型,使开发人员不必掌握复杂的J2EEAPI和面向对象的程序设计原理。所有开发人员,包括J2EE专家和具有可视化和过程化语言技能的应用开发人员在内,都可以共同工作在BEAWebLogicEnterprisePlatform之上。Workshop的可视化开发环境,创建带有代码注释的标准Java文件,用来说明由运行时框架实施的企业级需求。J2EE和其他高级开发人员,借助功能强大的代码编辑功能,可以访问Java源代码,从而弥补了可视化设计器的不足。②构建企业级应用通过在可伸缩、安全可靠的企业级架构上实施各种应用,BEAWebLogicWorkshop大大降低了开发风险。而且,所有应用的创建都使用标准的J2EE组件,既保护了您的技术投资,又保持了最大的灵活性。BEAWebLogicWorkshop运行框架,是统一整个架构的汇聚层,使单一、简化的程序设计模型扩展到所有的BEAWebLogicEnterprisePlatform应用类型。通过解释设计时创建的注释代码,运行时框架可以实现必要的J2EE组件,并且提取出与J2EE应用开发有关的所有底层细节。③降低IT复杂性BEAWebLogicWorkshop提供各种Java控件,使得与IT资源的连接更轻而易举。另外,在构建任何BEAWebLogicPlatform的应用中,Java控件不仅可扩展而且完全相同。这种强大、有效的方法能够:降低IT技术的复杂性,优化信息的可用性,推动包含"最佳业务方案"的可重用服务的开发,使开发人员能以更低的成本、更短的时间实现更大的产出。利用BEAWebLogicWorkshop,任何开发人员都能以最大的生产效率,构建各种Web服务、Web应用、门户和集成项目。BEAWebLogicWorkshop是BEA的产品战略核心,它帮助客户接触和利用面向服务架构(SOA)的强大功能。BEAWeblogicWorkshop8.1极大简化了当前实际企业集成环境中企业级应用和服务的构建,并成为全面支持关键企业级应用(如异步、真正松耦合和粗粒度消息传送等)的自然选择。它的缺点就是过于复杂,对于初学者来说,理解起来较为困难。8、WebGain的VisualCafeforJavaVisualCafe是只能在Symantec公司的Java虚拟机、Netscape公司的Java虚拟机和Microsoft虚拟机上工作的调试器。这对于开发者来讲是一个重要的特性,因为用户开发的Java代码中的许多软件bug就可能中会在某种特定的虚拟机上起作用。在修改后进行编译基继续进行调试时,VisualCafe会自动将文件存盘,使用VisualCafe创建的原生应用具有许多特点。除了明显的速度提高之外,Symantec使类库的二进制方式比正常的JDK小VisualCafe为所指定的关系自动生成或更新必要的Java代码。利用VisualCafe,用户可以从一个标准对象数据库中集合完整的Java应用程序和Applet,而不必再编写源代码。VisualCafe还提供了一个扩充的源代码开发工具集。VisualCafe综合了Java软件的可视化源程序开发工具,它允许开发人员在可视化视图和源视图之间进行有效地转换。在可视化视图中进行的修改立即反映在源代码中。对源代码的改变自动更新可视化视图。VisualCafe具有许多源文件方面的特性,如全局检索和替换。绝大多数Java开发工具的文献的问题在于简单地挨个介绍开发工具的每部分组件,但用户在开应用时还需要一个面向任务的手册,利用这个手册你可以不必知道工具每一部分的特定功能就可以开始创建自己的应用。VisualCafe提供了非常全面的用户指南,它对最开始的安装到创建第一个Java应用和Applet都提供了全面的帮助,VisualCafe将自动生成所指明关系的必要Java代码。VisualCafe可以在Windows95和WindowsNT平台下运行,Symantec公司为Java开发工作提供一个在Macintosh操作系统下可以运行的RAD工具。VisualCafe编译器速度很快,在国际化支持方面比较突出;缺点就是对于初学者来说,较复杂,也比较难。9、Macromedia的JRUNMacromedia公司的JRun是一个具有最广阔适用性的Java引擎,用于开发及实施由JavaServlets和JavaServerPages编写的服务器端Java应用。JRun是第一个完全支持JSP1.0规格书的商业化产品,全球有超过80,000名开发人员使用JRun在他们已有的Web服务器上添加服务器端Java的功能。其中Web服务器包括了MicrosoftIIS,NetscapeEnterpriseServer,Apache等。JRun是开发实施服务器端Java的先进引擎。如果我们希望在我们的Web应用中添加服务器端Java功能,那么JRun将成为我们的正确选择。JRun目前有3个版本,它是第一个支持JavaServerPages(JSP)规格书1.0的商业化产品。JSP是一种强大的服务器端技术,它是用于创建复杂Web应用的一整套快速应用开发系统。JRun可以使我们开始开发并测试Java应用。它最多接受5个并发的连接并且包括全部JavaServletAPI,支持JavaServerPages(JSP),支持所有主要的Webservers和计算机平台。JRunPro能够在生产环境下承受大访问量的负载,帮助我们实施应用、服务或Web站点(包括内联网)。JRunPro支持无限量并发式连接运行多个Java虚拟机,包括多个并发的Java虚拟机(JVM)。提供一个远程管理applet以及一个远程可再分布式的管理applet。JRunProUnlimited包括了所有JRunPro的功能,除次以外,还可以运行无限量的,并发的JVM。JRun依靠其内置的JRunWebServer可以单独运行。使用服务器端Java,用户可以开发出复杂的商业应用系统。最重要的一点是,由于servlets的平台独立性,以及更加简单的开发、更快速的实施、更经济的维护成本,它是CGI(CommonGatewayInterface)或Perlscripts的极佳的替代产品。缺点就是对于初学者来说,较复杂,也比较难。10、JCreatorJCreator是一个Java程序开发工具,也是一个Java集成开发环境(IDE)。无论你是要开发Java应用程序或者网页上的Applet元件都难不倒它。在功能上与Sun公司所公布的JDK等文字模式开发工具相较之下来得容易,还允许使用者自订义操作窗口界面及无限Undo/Redo等功能。JCreator为用户提供了相当强大的功能,例如项目管理功能,项目模板功能,可个性化设置语法高亮属性、行数、类浏览器、标签文档、多功能编绎器,向导功能以及完全可自定义的用户界面。通过JCreator,我们不用激活主文档而直接编绎或运行我们的JAVA程序。JCreator能自动找到包含主函数的文件或包含Applet的Html文件,然后它会运行适当的工具。在JCreator中,我们可以通过一个批处理同时编绎多个项目。JCreator的设计接近Windows界面风格,用户对它的界面比较熟悉。其最大特点是与我们机器中所装的JDK完美结合,是其它任何一款IDE所不能比拟的。它是一种初学者很容易上手的java开发工具,缺点是只能进行简单的程序开发,不能进行企业J2EE的开发应用。11、MicrosoftVJ++VisualJ++是Microsoft公司推出的可视化的Java语言集成开发环境(IDE),为Java编程人员提供了一个新的开发环境,是一个相当出色的开发工具。无论集成性、编译速度、调试功能、还是易学易用性,都体现了Microsoft的一惯风格。VisualJ++具有下面的特点:1)VisualJ++把Java虚拟机(JVM)作为独立的操作系统组件放入Windows,使之从浏览器中独立出来。2)Microsoft的应用基本类库(AFC,ApplicationFoundationClassLibrary)对SUN公司的JDK作了扩展,使应用基本类库更加适合在Windows下使用。3)VisualJ++的调试器支持动态调试,包括单步执行、设置断点、观察变量数值等。4)VisualJ++提供了一些程序向导(Wizards)和生成器(Builders),它们可以方便地帮助用户快速地生成Java程序,帮助你在自己的工程中创建和修改文件。5)VisualJ++界面友好,其代码编辑器具有智能感知、联机编译等功能,使程序编写十分方便。VisualJ++中建立了Java的WFC,这一新的应用程序框架能够直接访问Windows应用程序接口(API),使你能够用Java语言编写完全意义上的Windows应用程序。6)VisualJ++中表单设计器的快速应用开发特性使用WFC创建基于表单的应用程序变得轻松、简单。通过WFC可以方便地使用ActiveX数据对象(ADO,ActiveXDataObjects)来检索数据和执行简单数据的绑定。通过在表单设计器中使用ActiveX数据对象,可以快速地在表单中访问和显示数据。VisualJ++能结合微软的一贯的编程风格,很方便进行Java的应用开发,但它的移植性较差,不是纯的Java开发环境。12、EclipseEclipse是一种可扩展的开放源代码IDE。2001年11月,IBM公司捐出价值4,000万美元的源代码组建了Eclipse联盟,并由该联盟负责这种工具的后续开发。集成开发环境(IDE)经常将其应用范围限定在“开发、构建和调试”的周期之中。为了帮助集成开发环境(IDE)克服目前的局限性,业界厂商合作创建了Eclipse平台。Eclipse允许在同一IDE中集成来自不同供应商的工具,并实现了工具之间的互操作性,从而显著改变了项目工作流程,使开发者可以专注在实际的嵌入式目标上。Eclipse框架的这种灵活性来源于其扩展点。它们是在XML中定义的已知接口,并充当插件的耦合点。扩展点的范围包括从用在常规表述过滤器中的简单字符串,到一个Java类的描述。任何Eclipse插件定义的扩展点都能够被其它插件使用,反之,任何Eclipse插件也可以遵从其它插件定义的扩展点。除了解由扩展点定义的接口外,插件不知道它们通过扩展点提供的服务将如何被使用。利用Eclipse,我们可以将高级设计(也许是采用UML)与低级开发工具(如应用调试器等)结合在一起。如果这些互相补充的独立工具采用Eclipse扩展点彼此连接,那么当我们用调试器逐一检查应用时,UML对话框可以突出显示我们正在关注的器件。事实上,由于Eclipse并不了解开发语言,所以无论Java语言调试器、C/C++调试器还是汇编调试器都是有效的,并可以在相同的框架内同时瞄准不同的进程或节点。Eclipse的最大特点是它能接受由Java开发者自己编写的开放源代码插件,这类似于微软公司的VisualStudio和Sun微系统公司的NetBeans平台。Eclipse为工具开发商提供了更好的灵活性,使他们能更好地控制自己的软件技术。Eclipse联盟已经宣布将在2004年中期发布其3.0版软件。这是一款非常受欢迎的java开发工具,这国内的用户越来越多,实际上实用它java开发人员是最多的。缺点就是较复杂,对初学者来说,理解起来比较困难。13、AntAnotherNeatTool(Ant)是一种基于Java的build工具。理论上来说,它有些类似于(Unix)C中的make,但没有make的缺陷。因为Ant的原作者在多种(硬件)平台上开发软件时,无法忍受这些工具的限制和不便。类似于make的工具本质上是基于shell(语言)的:他们计算依赖关系,然后执行命令(这些命令与你在命令行敲的命令没太大区别)。这就意味着你可以很容易地通过使用OS特有的或编写新的(命令)程序扩展该工具;然而,这也意味着你将自己限制在了特定的OS,或特定的OS类型上,如Unix。Ant就不同了。与基于shell命令的扩展模式不同,Ant用Java的类来扩展。(用户)不必编写shell命令,配置文件是基于XML的,通过调用target树,就可执行各种task。每个task由实现了一个实现了特定Task接口的对象来运行。Ant支持一些可选task,一个可选task一般需要额外的库才能工作。可选task与Ant的内置task分开,单独打包。这个可选包可以从你下载Ant的同一个地方下载。ANT本身就是这样一个流程脚本引擎,用于自动化调用程序完成项目的编译,打包,测试等。除了基于JAVA是平台无关的外,脚本的格式是基于XML的,比make脚本来说还要好维护一些。Ant是Apache提供给Java开发人员的构建工具,它可以在WindowsOS和UnixOS下运行,它不仅开放源码并且还是一个非常好用的工具。Ant是ApacheJakarta中一个很好用的Java开发工具,Ant配置文件采用XML文档编写,所以Java程序员对其语法相当熟悉,Ant是专用于Java项目平台,能够用纯Java来开发,它能够运行于Java安装的平台,即体现了它的跨平台功能。它的缺点显示执行结果只能是DOS字符界面,不能进行复杂的java程序开发。14、IntelliJIntellijIDEA是一款综合的Java编程环境,被许多开发人员和行业专家誉为市场上最好的IDE。它提供了一系列最实用的的工具组合:智能编码辅助和自动控制,支持J2EE,Ant,JUnit和CVS集成,非平行的编码检查和创新的GUI设计器。IDEA把Java开发人员从一些耗时的常规工作中解放出来,显著地提高了开发效率。具有运行更快速,生成更好的代码;持续的重新设计和日常编码变得更加简易,与其它工具的完美集成;很高的性价比等特点。在4.0版本中支持Generics,BEAWebLogic集成,改良的CVS集成以及GUI设计器。IntelliJIDEA能尽可能地促进程序员的编程速度。它包括了很多辅助的功能,并且与Java结合得相当好。不同的工具窗口围绕在主编程窗口周围,当鼠标点到时即可打开,无用时也可轻松关闭,使用户得到了最大化的有效屏幕范围。以技术为导向的IDEA集成了调试器,支持本地和远程的调试,即使我们需要修改一些设置上的东西使我们的工作顺利进展。另外,它还提供了通常的监视,分步调试以及手动设置断点功能,在这种断点模式下,我们可以自动地在断点之外设置现场访问,甚至可以浏览不同的变量的值。IDE支持多重的JVM设置,几个编译程序和Ant建造系统,并且,它使得设置多重的自定义的类途径变得简单。IntelliJIdea是一个相对较新的JavaIDE。它是Java开发环境中最为有用的一个。高度优化的IntelleJIdea使普通任务变得相当容易,Idea支持很多整合功能,更重要的使它们设计的好容易使用。Idea支持XML中的代码实现,Idea同时还会校正XML,Idea支持JSP的结构。作用于普通Java代码的众多功能同样适用于JSP(比如整合功能),同时支持JSP调试;支持EJB,尽管它不包括对个别应用服务器的特殊支持。Idea支持Ant建立工具,不仅是运行目标它还支持编译与运行程序前后运行目标,另外也支持绑定键盘快捷键。在编辑一个Ant建立XML文件时,Idea还对组成Ant工程的XML部分提供支持。IntelliJIDEA被称为是最好的JAVAIDE开发平台,这套软件就是以其聪明的即时分析和方便的refactoring功能深获大家所喜爱。缺点是较复杂,对初学者来说,理解起来比较困难。现在常用的Java项目开发环境有:JBuilder、VisualAgeforJava、ForteforJava,VisualCafe、Eclipse、NetBeansIDE、JCreator+J2SDK、jdk+记事本、EditPlus+J2SDK等等。一般开发J2EE项目时都需要安装各公司的应用服务器(中间件)和相应的开发工具,在使用这些开发工具之前,我们最好能熟知这些软件的优点和缺点,以便根据实际情况选择应用。编程工具只是工具,为了方便人们工作而开发的,各有特点,因此,选工具主要的依据自己将要从事的领域是什么,而不是盲目的认为那种工具好,那种工具不好。最后希望大家都能找到自己合适的java开发工具

对于java开发工具Idea,如何才能激活?

下载就行了

如何才能够激活java开发工具IDEA?

IDEA全称为IntelliJ IDEA,由位于捷克共和国的首都布拉格的JetBrains公司研发而成,在业界被公认为是最好的java开发工具之一。在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查和GUI设计的创新。我将详细的介绍idea的Ultimate旗舰版的激活过程:下载激活补丁;修改IDEA的配置文件;输入激活码重启IDEA以上则是激活IDEA的大致步骤,有效时间是99年。详细的图文激活步骤,请参见这篇文章 -> IDEA永久激活详细图文教程

java中的implement怎么用?

impliment的作用是为了实现某个接口。例子如下:(1)声明一个接口A:interface A{public void a();}(2)有B类为了实现A接口class B impliment A{public void a(){System.out.println("B");}}科普:impliment是在java程序中 一个类实现接口类时用的关键词。Object implements Object 如java 中定义的接口Animal ,实现接口的类 定义如下: public class Tiger implements Animal{}

java implement什么作用

提出implement这个词,说明你已经初步接触过继承的概念了吧?继承为我们编写程序提供了方便:当几个类共同拥有某些属性的时候,就可以通过继承,从它的父辈那里将这些属性继承过来(比如正方形属于特殊的长方形,所以,在编写正方形类的时候就可以让它继承长方形的类),非常方便。可是Java是不允许多继承的,也就是说一个孩子只能拥有一个父亲。那么当一个类想拥有其他类的优点(比如骡子想同时拥有马和驴的属性)时,难道就不行了吗?不是这样的。这就用到了“接口(interface)”。接口感觉上和继承比较类似。我们通过“实现(implement)”“接口(interface)”来使我们所编写的类,拥有其他类的优点。

java impl是什么?

Implements 实现接口

JAVA中implement和extends的区别

implement是实现接口的,extends是继承用的。一个类可以实现多个接口,但是只能继承一次

javaForum是个啥

论坛(forum),简单理解为发帖回帖讨论的平台。是Internet上的一种电子信息服务系统。它提供一块公共电子白板,每个用户都可以在上面书写,可发布信息或提出看法。它是一种交互性强,内容丰富而及时的Internet电子信息服务系统,用户在BBS站点上可以获得各种信息服务、发布信息、进行讨论、聊天等等。javaForum就是关于讨论Java语言的论坛。类似这种。

java程序问题:return后加new是什么意思?

return 跟new没有什么直接的关系只是你的方法需要返回值,return new ..()就是临时产生一个对象返回回去

java中所指的框架framework是什么意思?

就是框架啊。你把问题再详细点,是不是用NB写程序的时候出现的*.frame文件?

java.awt.Dimension 具体是怎么实现的?

Dimension类其实就是封装了了两个数据:width和height。如果打开Dimension类的源代码,可以看到如下构造器: public Dimension(int width, int height) {this.width = width;this.height = height;}通过该构造器可以看到Dimension就是封装了width和height两个数据。因此当你调用frame.setPreferredSize(new Dimension(300, 200));时,实际上就相当于为给frame设置了推荐的宽(width)和高(height),该窗口就会根据它所包含的组件大小来计算该窗口所需要的宽和高。可以去看看”疯狂Java讲义“的11章,这里讲得很透彻

JAVA中Dimension()函数里面的参数设置有什么原则,是可以随便设置的吗,Dimension(0,0)代表什么意思???

有一下三种方式设置参数:Dimension() 创建 Dimension 的一个实例(宽度为零,高度为零)。Dimension(Dimension d) 创建 Dimension 的一个实例(宽度和高度与指定的 dimension 相同)。Dimension(int width, int height) 构造一个 Dimension,并将其初始化为指定宽度和高度。所以你说的Dimension(0,0)就是宽度和高度都是0

java里dimension报错是什么原因

Java中的Dimension是一个类,通常用于表示二维平面上的点的坐标或另一种数据结构的尺寸。如果你在编写Java代码时遇到了关于Dimension的报错,那么很可能是以下原因之一:1. 未导入java.awt包:Dimension类定义在java.awt包中,如果没有导入这个包,编译器就无法找到Dimension类。2. 拼写错误:如果你不小心将Dimension拼写成“Demension”或其他类似的拼写错误,那么编译器会报错,因为它无法识别你意图创建的类。3. 变量名重复:如果你在代码中有多个同名变量并且其中一个是Dimension类型的话,那么编译器会报错。希望以上信息可以帮助你解决问题。若还有疑问,欢迎进一步提问。

求java中的关键字?

JAVA中关键字有什么用

abstract:修饰符,生命抽象方法和抽象类。assert:断言,用于定位程序错误。boolean:基本数据类型,布尔数据类型。break:流程控制,用于终止switch或循环语句块。byte:基本数据类型,字节型(8位整型)。case:用于在switch语句中标记一个判断分支。catch:try异常处理语句的处理代码分支。char:基本数据类型,16位Unicode编码字符型。class:用于生命java类。continute:流程控制,用于跳过本次循环中未完成部分而继续下一次循环。default:用于在switch语句中标记分支。do:标记do-while循环的开始。double:基本数据类型,双精度浮点数。else:标记if分支语句的否定分支。extends:用于标明Java类间的继承关系。final:标明终态性,用于表明不允许被继承的类、不允许被覆盖的方法和常量finally:标记try异常处理语句的无条件执行代码分支。float:基本数据类型,单精度浮点数。for:for型循环。if:标记if分支语句。implements:标记Java类接口的实现关系。import:导入软件包。instanceof:检测某个对象是否是某个特定类的实例。int:基本数据类型,32位整型。interface:声明Java接口类型。long:基本数据类型,长整型。native:用于声明本地方法-无方法体、通过调用底层代码来实现其功能。new:用于创建新对象。null:标记一个空的引用。package:用于生命软件包。private:访问控制符,限制某成员只能在本类中被直接访问。protected:访问控制符,限制某成员只能在本类、同一个包及子类中被直接访问。public:访问控制符,标记某成员可以在任何类中被直接访问。return:终止方法的运行并返回处理结果给调用环境(如果有返回值)。short:基本数据类型,16位短整型。static:修饰符,用于声明类成员,由整个类共有,而不是该类每个实例专属。super:在子类中标明成员在构造方法中调用父类的构造方法。switch:标明switch分支结构。synchronized:同步化处理标记,用于多线程共享数据时在一个方法或语句块的范围内锁定一个对象。this:标记方法的当前对象,或在构造方法中调用同一个类的其他重载构造方法。throw:显示抛出异常。throws:在方法中标记其可能抛出的异常。transient:用于标记不允许被序列化处理的成员变量。try:标记一段可能产生异常的代码片段。void:标明一个方法没有返回值。volatile:标记对一个成员变量进行强迫性同步处理,多线程中共享数据的一致性。while:标记while型循环。

Java对象序列化使用基础

所谓对象序列化就是将对象的状态转换成字节流,以后可以通过这些值再生成相同状态的对象。这个过程也可以通过网络实现,可以先在Windows机器上创建一个对象,对其序列化,然后通过网络发给一台Unix机器,然后在那里准确无误地重新"装配"。像RMI、Socket、JMS、EJB它们中的一种,彼此为什么能够传递Java对象,当然都是对象序列化机制的功劳。Java对象序列化机制一般来讲有两种用途:Java的JavaBeans: Bean的状态信息通常是在设计时配置的,Bean的状态信息必须被存起来,以便当程序运行时能恢复这些状态信息,这需要将对象的状态保存到文件中,而后能够通过读入对象状态来重新构造对象,恢复程序状态。RMI允许象在本机上一样操作远程机器上的对象;或使用套接字在网络上传送对象的程序来说,这些都是需要实现serializaiton机制的。我们通过让类实现Java.io.Serializable 接口可以将类序列化。这个接口是一个制造者(marker)接口。也就是说,对于要实现它的类来说,该接口不需要实现任何方法。它主要用来通知Java虚拟机(JVM),需要将一个对象序列化。对于这个,有几点我们需要明确:并非所有类都可以序列化,在cmd下,我们输入serialver .Socket,可以得到socket是否可序列化的信息,实际上socket是不可序列化的。Java有很多基础类已经实现了serializable接口,比如string,vector等。但是比如hashtable就没有实现serializable接口。将对象读出或者写入流的主要类有两个: ObjectOutputStream与ObjectInputStream .ObjectOutputStream 提供用来将对象写入输出流的writeObject方法, ObjectInputStream提供从输入流中读出对象的readObject方法。使用这些方法的对象必须已经被序列化的。也就是说,必须已经实现 Serializable接口。如果你想writeobject一个hashtable对象,那么,会得到一个异常。序列化的过程就是对象写入字节流和从字节流中读取对象。将对象状态转换成字节流之后,可以用Java.io包中的各种字节流类将其保存到文件中,管道到另一线程中或通过网络连接将对象数据发送到另一主机。对象序列化功能非常简单、强大,在RMI、Socket、JMS、EJB都有应用。对象序列化问题在网络编程中并不是最激动人心的课题,但却相当重要,具有许多实用意义。对象序列化可以实现分布式对象。主要应用例如:RMI要利用对象序列化运行远程主机上的服务,就像在本地机上运行对象时一样。Java对象序列化不仅保留一个对象的数据,而且递归保存对象引用的每个对象的数据。可以将整个对象层次写入字节流中,可以保存在文件中或在网络连接上传递。利用对象序列化可以进行对象的“深复制”,即复制对象本身及引用的对象本身。序列化一个对象可能得到整个对象序列。Java序列化比较简单,通常不需要编写保存和恢复对象状态的定制代码。实现Java.io.Serializable接口的类对象可以转换成字节流或从字节流恢复,不需要在类中增加任何代码。只有极少数情况下才需要定制代码保存或恢复对象状态。这里要注意:不是每个类都可序列化,有些类是不能序列化的,例如涉及线程的类与特定JVM有非常复杂的关系。序列化机制:序列化分为两大部分:序列化 和反序列化 。序列化是这个过程的第一部分,将数据分解成字节流,以便存储在文件中或在网络上传输。反序列化就是打开字节流并重构对象。对象序列化不仅要将基本数据类型转换成字节表示,有时还要恢复数据。恢复数据要求有恢复数据的对象实例。ObjectOutputStream中的序列化过程与字节流连接,包括对象类型和版本信息。反序列化时,JVM用头信息生成对象实例,然后将对象字节流中的数据复制到对象数据成员中。下面我们分两大部分来阐述:处理对象流:(序列化过程和反序列化过程)Java.io包有两个序列化对象的类。ObjectOutputStream负责将对象写入字节流,ObjectInputStream从字节流重构对象。我们先了解ObjectOutputStream类吧。ObjectOutputStream类扩展DataOutput接口。writeObject() 方法是最重要的方法,用于对象序列化。如果对象包含其他对象的引用,则writeObject()方法递归序列化这些对象。每个 ObjectOutputStream维护序列化的对象引用表,防止发送同一对象的多个拷贝。(这点很重要)由于writeObject()可以序列化整组交叉引用的对象,因此同一ObjectOutputStream实例可能不小心被请求序列化同一对象。这时,进行反引用序列化,而不是再次写入对象字节流。下面,让我们从例子中来了解ObjectOutputStream这个类吧。// 序列化 today"s date 到一个文件中.FileOutputStream f = new FileOutputStream ("tmp" );ObjectOutputStream s = new ObjectOutputStream (f);s.writeObject("Today" );s.writeObject(new Date ());s.flush();现在,让我们来了解ObjectInputStream这个类。它与ObjectOutputStream相似。它扩展DataInput接口。 ObjectInputStream中的方法镜像DataInputStream中读取Java基本数据类型的公开方法。readObject()方法从字节流中反序列化对象。每次调用readObject()方法都返回流中下一个Object。对象字节流并不传输类的字节码,而是包括类名及其签名。 readObject()收到对象时,JVM装入头中指定的类。如果找不到这个类,则readObject()抛出 ClassNotFoundException,如果需要传输对象数据和字节码,则可以用RMI框架。ObjectInputStream的其余方法用于定制反序列化过程。例子如下://从文件中反序列化 string 对象和 date 对象FileInputStream in = new FileInputStream ("tmp" );ObjectInputStream s = new ObjectInputStream (in);String today = (String )s.readObject();Date date = (Date )s.readObject();定制序列化过程:序列化通常可以自动完成,但有时可能要对这个过程进行控制。java可以将类声明为serializable,但仍可手工控制声明为static或transient的数据成员。例子:一个非常简单的序列化类。public class simpleSerializableClass implements Serializable {String sToday="Today:" ;transient Date dtToday=new Date ();}序列化时,类的所有数据成员应可序列化除了声明为transient 或static的成员。将变量声明为transient告诉JVM我们会负责将变元序列化。将数据成员声明为transient后,序列化过程就无法将其加进对象字节流中,没有从transient数据成员发送的数据。后面数据反序列化时,要重建数据成员(因为它是类定义的一部分),但不包含任何数据,因为这个数据成员不向流中写入任何数据。记住,对象流不序列化static或transient。我们的类要用writeObject()与 readObject()方法以处理这些数据成员。使用writeObject()与readObject()方法时,还要注意按写入的顺序读取这些数据成员。关于如何使用定制序列化的部分代码如下//重写writeObject()方法以便处理transient的成员。public void writeObject(ObjectOutputStream outputStream) throws IOException {outputStream.defaultWriteObject();//使定制的writeObject()方法可以利用自动序列化中内置的逻辑。outputStream.writeObject(oSocket.getInetAddress());outputStream.writeInt(oSocket.getPort());}//重写readObject()方法以便接收transient的成员。private void readObject(ObjectInputStream inputStream) throwsIOException ,ClassNotFoundException {inputStream.defaultReadObject();//defaultReadObject()补充自动序列化InetAddress oAddress=(InetAddress )inputStream.readObject();int iPort =inputStream.readInt();oSocket = new Socket (oAddress,iPort);iID=getID();dtToday =new Date ();}完全定制序列化过程:如果一个类要完全负责自己的序列化,则实现Externalizable接口而不是Serializable接口。Externalizable接口定义包括两个方法writeExternal()与readExternal()。利用这些方法可以控制对象数据成员如何写入字节流.类实现 Externalizable时,头写入对象流中,然后类完全负责序列化和恢复数据成员,除了头以外,根本没有自动序列化。这里要注意了。声明类实现 Externalizable接口会有重大的安全风险。writeExternal()与readExternal()方法声明为public,恶意类可以用这些方法读取和写入对象数据。如果对象包含敏感信息,则要格外小心。这包括使用安全套接或加密整个字节流。到此为至,我们学习了序列化的基础部分知识。

介绍Java对象序列化使用基础

序列化的过程就是对象写入字节流和从字节流中读取对象。将对象状态转换成字节流之后,可以用java.io包中的各种字节流类将其保存到文件中,管道到另一线程中或通过网络连接将对象数据发送到另一主机。对象序列化功能非常简单、强大,在RMI、Socket、JMS、EJB都有应用。对象序列化问题在网络编程中并不是最激动人心的课题,但却相当重要,具有许多实用意义。1.对象序列化可以实现分布式对象。主要应用例如:RMI要利用对象序列化运行远程主机上的服务,就像在本地机上运行对象时一样。2.Java对象序列化不仅保留一个对象的数据,而且递归保存对象引用的每个对象的数据。可以将整个对象层次写入字节流中,可以保存在文件中或在网络连接上传递。利用对象序列化可以进行对象的“深复制”,即复制对象本身及引用的对象本身。序列化一个对象可能得到整个对象序列。从上面的叙述中,我们知道了对象序列化是java编程中的必备武器,那么让我们从基础开始,好好学习一下它的机制和用法。Java序列化比较简单,通常不需要编写保存和恢复对象状态的定制代码。只需要实现接口(java.io.Serializable)的类对象可以转换成字节流或从字节流恢复,不需要在类中增加任何代码。只有极少数情况下才需要定制代码保存或恢复对象状态。这里要注意:不是每个类都可序列化,有些类是不能序列化的,例如涉及线程的类与特定JVM有非常复杂的关系。序列化机制:序列化分为两大部分:序列化和反序列化。序列化是这个过程的第一部分,将数据分解成字节流,以便存储在文件中或在网络上传输。反序列化就是打开字节流并重构对象。对象序列化不仅要将基本数据类型转换成字节表示,有时还要恢复数据。恢复数据要求有恢复数据的对象实例。ObjectOutputStream中的序列化过程与字节流连接,包括对象类型和版本信息。反序列化时,JVM用头信息生成对象实例,然后将对象字节流中的数据复制到对象数据成员中。下面我们分两大部分来阐述:处理对象流:(序列化过程和反序列化过程)java.io包有两个序列化对象的类。ObjectOutputStream负责将对象写入字节流,ObjectInputStream从字节流重构对象。我们先了解ObjectOutputStream类吧。ObjectOutputStream类扩展DataOutput接口。writeObject()方法是最重要的方法,用于对象序列化。如果对象包含其他对象的引用,则writeObject()方法递归序列化这些对象。每个ObjectOutputStream维护序列化的对象引用表,防止发送同一对象的多个拷贝。(这点很重要)由于writeObject()可以序列化整组交叉引用的对象,因此同一ObjectOutputStream实例可能不小心被请求序列化同一对象。这时,进行反引用序列化,而不是再次写入对象字节流。下面,让我们从例子中来了解ObjectOutputStream这个类吧。// 序列化 today"s date 到一个文件中.FileOutputStream f = new FileOutputStream("tmp");ObjectOutputStream s = new ObjectOutputStream(f);s.writeObject("Today");s.writeObject(new Date());s.flush();现在,让我们来了解ObjectInputStream这个类。它与ObjectOutputStream相似。它扩展DataInput接口。ObjectInputStream中的方法镜像DataInputStream中读取Java基本数据类型的公开方法。readObject()方法从字节流中反序列化对象。每次调用readObject()方法都返回流中下一个Object。对象字节流并不传输类的字节码,而是包括类名及其签名。readObject()收到对象时,JVM装入头中指定的类。如果找不到这个类,则readObject()抛出ClassNotFoundException,如果需要传输对象数据和字节码,则可以用RMI框架。ObjectInputStream的其余方法用于定制反序列化过程。例子如下://从文件中反序列化 string 对象和 date 对象 FileInputStream in = new FileInputStream("tmp"); ObjectInputStream s = new ObjectInputStream(in); String today = (String)s.readObject(); Date date = (Date)s.readObject();定制序列化过程:序列化通常可以自动完成,但有时可能要对这个过程进行控制。java可以将类声明为serializable,但仍可手工控制声明为static或transient的数据成员。例子:一个非常简单的序列化类。public class simpleSerializableClass implements Serializable{String sToday="Today:";transient Date dtToday=new Date();}序列化时,类的所有数据成员应可序列化除了声明为transient或static的成员。将变量声明为transient告诉JVM我们会负责将变元序列化。将数据成员声明为transient后,序列化过程就无法将其加进对象字节流中,没有从transient数据成员发送的数据。后面数据反序列化时,要重建数据成员(因为它是类定义的一部分),但不包含任何数据,因为这个数据成员不向流中写入任何数据。记住,对象流不序列化static或transient。我们的类要用writeObject()与readObject()方法以处理这些数据成员。使用writeObject()与readObject()方法时,还要注意按写入的顺序读取这些数据成员。关于如何使用定制序列化的部分代码如下://重写writeObject()方法以便处理transient的成员。public void writeObject(ObjectOutputStream outputStream) throws IOException{outputStream.defaultWriteObject();//使定制的writeObject()方法可以利用自动序列化中内置的逻辑。outputStream.writeObject(oSocket.getInetAddress());outputStream.writeInt(oSocket.getPort());}//重写readObject()方法以便接收transient的成员。private void readObject(ObjectInputStream inputStream) throws IOException,ClassNotFoundException{inputStream.defaultReadObject();//defaultReadObject()补充自动序列化InetAddress oAddress=(InetAddress)inputStream.readObject();int iPort =inputStream.readInt();oSocket = new Socket(oAddress,iPort);iID=getID();dtToday =new Date();}完全定制序列化过程:如果一个类要完全负责自己的序列化,则实现Externalizable接口而不是Serializable接口。Externalizable接口定义包括两个方法writeExternal()与readExternal()。利用这些方法可以控制对象数据成员如何写入字节流.类实现Externalizable时,头写入对象流中,然后类完全负责序列化和恢复数据成员,除了头以外,根本没有自动序列化。这里要注意了。声明类实现Externalizable接口会有重大的安全风险。writeExternal()与readExternal()方法声明为public,恶意类可以用这些方法读取和写入对象数据。如果对象包含敏感信息,则要格外小心。这包括使用安全套接或加密整个字节流。处理对象流:(序列化过程和反序列化过程)java.io包有两个序列化对象的类。ObjectOutputStream负责将对象写入字节流,ObjectInputStream从字节流重构对象。我们先了解ObjectOutputStream类吧。ObjectOutputStream类扩展DataOutput接口。writeObject()方法是最重要的方法,用于对象序列化。如果对象包含其他对象的引用,则writeObject()方法递归序列化这些对象。每个ObjectOutputStream维护序列化的对象引用表,防止发送同一对象的多个拷贝。(这点很重要)由于writeObject()可以序列化整组交叉引用的对象,因此同一ObjectOutputStream实例可能不小心被请求序列化同一对象。这时,进行反引用序列化,而不是再次写入对象字节流。下面,让我们从例子中来了解ObjectOutputStream这个类吧。// 序列化 today"s date 到一个文件中.FileOutputStream f = new FileOutputStream("tmp");ObjectOutputStream s = new ObjectOutputStream(f);s.writeObject("Today");s.writeObject(new Date());s.flush();现在,让我们来了解ObjectInputStream这个类。它与ObjectOutputStream相似。它扩展DataInput接口。ObjectInputStream中的方法镜像DataInputStream中读取Java基本数据类型的公开方法。readObject()方法从字节流中反序列化对象。每次调用readObject()方法都返回流中下一个Object。对象字节流并不传输类的字节码,而是包括类名及其签名。readObject()收到对象时,JVM装入头中指定的类。如果找不到这个类,则readObject()抛出ClassNotFoundException,如果需要传输对象数据和字节码,则可以用RMI框架。ObjectInputStream的其余方法用于定制反序列化过程。

socket传输中,java的对象序列化和反序列化过程中是如何确保数据的完整性的

·ObjectInputStream和ObjectOutputStream这两个包装类,用于从底层输入流中读取对象类型的数据和对象类型的数据写入到底层输出流。将对象中所有成员变量的取值保存起来就等于保存了对象,将对象中所有成员变量的取值还原就相等于读取了对象。·ObjectInputStream和ObjectOutputStream类所读写的对象必须实现了Serializable接口。对象中的transient(一种标记,表示变量是临时的)和static类型的成员变量不会被读取和写入。这两个类可以用于网络流中传送对象。 ( transient:java语言的关键字,变量修饰符,如果用transient声明一个实例变量,当对象存储时,它的值不需要维持。  Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想用 serialization机制来保存它。为了在一个特定对象的一个域上关闭serialization,可以在这个域前加上关键字transient。当一个对象被串行化的时候,transient型变量的值不包括在串行化的表示中,然而非transient型的变量是被包括进去的。)·一个可以被序列化的MyClass类的定义: public class MyClass implements Serializable{ public transient Thread t; //t不会被序列化 private String customerID; private int total; }·编程举例:创建一个可序列化的学生对象,并用ObjectOutputStream类把它存储到一个文件(mytext.txt)中,然后再用ObjectInputStream类把存储的数据读取到一个学生对象中,即恢复保存的学生对象。[java] view plaincopyimport java.io.*; class Student implements Serializable //必须实现Serializable接口才能序列化 { int age; String name; Student(int age, String name){ this.age = age; this.name = name; } } public class Iotest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Student stu1 = new Student(20,"zhangsan"); Student stu2 = new Student(22,"lisi"); try { FileOutputStream fos = new FileOutputStream("a.txt"); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeObject(stu1); oos.writeObject(stu2); oos.close(); FileInputStream fis = new FileInputStream("a.txt"); ObjectInputStream ois = new ObjectInputStream(fis); Student stu3 = (Student) ois.readObject(); System.out.println("age: "+stu3.age); System.out.println("name: "+stu3.name); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }

JAVA中的translate怎么用???

translate ? 你确定有这个东西?是不是你搞错了?你要问的是transient吧?

java.beans下的Transient注解与javax.persistence下的

1. 使用Hibernate Annotation来做对象关系映射 1) 添加必须包: hibernate-jpa-2.0-api-1.0.0.Final.jar 2) 在实体类中添加JPA的标准注解来进行对象关系映射.注解可以添加在属性上,也可以添加在getXxx()方法之上。 a) @Entity 映射一个实体类 @...

java 中的修饰符transient是什么意识他的原理是什么?

http://www.javaeye.com/topic/52957去看看这个帖子吧,说得很全面了。

transient在java中的有什么作用?

java 的transient关键字的作用是需要实现Serilizable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中。 transient使用小结1)一旦变量被transient修饰,变量将不再是对象持久化的一部分,该变量内容在序列化后无法获得访问。2)transient关键字只能修饰变量,而不能修饰方法和类。注意,本地变量是不能被transient关键字修饰的。变量如果是用户自定义类变量,则该类需要实现Serializable接口。3)被transient关键字修饰的变量不再能被序列化,一个静态变量不管是否被transient修饰,均不能被序列化。

java 方法中含有 transient 是什么意思?

java的关键字,用transient关键字标记的成员变量不参与序列化过程

transient是不是java的关键字

是的,java 的transient关键字为我们提供了便利,你只需要实现Serilizable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中。1)一旦变量被transient修饰,变量将不再是对象持久化的一部分,该变量内容在序列化后无法获得访问。2)transient关键字只能修饰变量,而不能修饰方法和类。注意,本地变量是不能被transient关键字修饰的。变量如果是用户自定义类变量,则该类需要实现Serializable接口。3)被transient关键字修饰的变量不再能被序列化,一个静态变量不管是否被transient修饰,均不能被序列化。第三点可能有些人很迷惑,因为发现在User类中的username字段前加上static关键字后,程序运行结果依然不变,即static类型的username也读出来为“Alexia”了,这不与第三点说的矛盾吗?实际上是这样的:第三点确实没错(一个静态变量不管是否被transient修饰,均不能被序列化),反序列化后类中static型变量username的值为当前JVM中对应static变量的值,这个值是JVM中的不是反序列化得出的

java的arrayList中,数组为什么被transient修饰,这是因为什么原因而设计出来的?

Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机制来保存它。为了在一个特定对象的一个域上关闭serialization,可以在这个域前加上关键字transient

java中transient的用法

transient Java语言的关键字,用来表示一个域不是该对象串行化的一部分。当一个对象被串行化的时候,transient型变量的值不包括在串行化的表示中,然而非transient型的变量是被包括进去的。 个人以为这个关键字很少能用得到
 首页 上一页  26 27 28 29 30 31 32 33 34 35 36  下一页  尾页