大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在计算机快速发展的今天,计算机行业的人才需求量也是越来越多,很多人开始选择从计算机方法进行发展。
成都创新互联主营清原网站建设的网络公司,主营网站建设方案,app软件开发公司,清原h5小程序开发搭建,清原网站营销推广欢迎清原等地区企业咨询
很多人都知道,计算机方面的知识是比较复杂的,学习起来会遇到很多的困难,Java语言是软件开发中使用最多的语言,那么对于初学者应该如何进行选择呢?学习Java语言开发的过程中,什么是最关键的?应该如何进行学习?下面电脑培训为大家介绍初学Java的关键。
一、学习静态方法和属性在学习Java开发中,静态语言和属性的使用是非常关键的,主要是用于描述某一类对象群体的特征,而不是属于单个对象的特征。
在Java中需要大量的使用静态方法和属性,这个技巧是非常关键的,但是有一个缺点就是这种语言不能被频繁的使用。
在学习过程中,静态方法和属性对于后期理解类和对象内容有很大的帮助,在进行Java开发时,静态方法和属性的使用是非常频繁的。
二、重视接口问题类继承在早期面向对象的应用程序中大量使用。
随着软件工程理论的不断发展,人们开始意识到继承的诸多缺点,并开始尝试使用聚合而不是继承。
IT培训认为能够很好的解决可扩展性的软件工程的重要原则的抽象描述,并且还能直接使用的工具是界面。
接口已经逐渐成为近年来Java编程的核心。
三、集合框架的学习Java进行描述复杂数据结构的主要方式是集合框架。
Java没有任何指针,而是复杂数据结构的复杂集合,例如数组和对象数组。
学习这些数据结构的描述对于应用程序编程至关重要,特别是在涉及服务器端的3层结构编程时。
此时,北京北大青鸟发现可能出现程序员无法再使用诸如数据库结果集之类的结构来描述数据的情况。
四、多线程的理解机理在进行学习Java语言的时候,很多人对多线程程序的编写非常感兴趣,毕竟这是对逻辑能力最大的挑战。
但是在进行开发的过程中,其实很多应用都会不需要使用多线程程序,并且很多厉害的应用程序员在编写代码的过程中也是不需要使用多线程的。
一般情况下,北大青鸟北京计算机学院发现多线程机制主要是使用到基础平台中。
利用struts2的上传下载
package com.java.action;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import org.apache.commons.io.FileUtils;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class FileAction extends ActionSupport {
/**
* 用于上传的变量
*/
//封装该文件域对应的文件内容
private File[] upload;
//封装该文件域对应的文件的文件名
private String[] uploadFileName;
//封装该文件域对应的文件的文件类型
private String[] uploadContentType;
/**
* 用于下载的变量
*/
private String[] fileNames;
private String fileName;
/**
* 设置getter和setter
* @return
*/
public String[] getFileNames() {
return fileNames;
}
public File[] getUpload() {
return upload;
}
public void setUpload(File[] upload) {
this.upload = upload;
}
public String[] getUploadFileName() {
return uploadFileName;
}
public void setUploadFileName(String[] uploadFileName) {
this.uploadFileName = uploadFileName;
}
public String[] getUploadContentType() {
return uploadContentType;
}
public void setUploadContentType(String[] uploadContentType) {
this.uploadContentType = uploadContentType;
}
public void setFileNames(String[] fileNames) {
this.fileNames = fileNames;
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
/**
* 用于上传文件的方法
* @return
*/
public String upload(){
//设置文件上传到的位置
String path = ServletActionContext.getServletContext().getRealPath("/file");
//设置文件目标
try {
for (int i = 0; i upload.length; i++) {
File target = new File(path, uploadFileName[i]);
FileUtils.copyFile(upload[i], target);
}
return SUCCESS;
} catch (IOException e) {
e.printStackTrace();
}
return INPUT;
}
/**
* 得到所有上传的文件的名称
* @return
*/
public String fileList(){
String path = ServletActionContext.getServletContext().getRealPath("/file");
fileNames = new File(path).list();
return SUCCESS;
}
/**
* 用于下载文件的方法
* @return
*/
public InputStream getInputStream(){
if(fileName==null || fileName.isEmpty()) return null;
String path = ServletActionContext.getServletContext().getRealPath("/file");
try {
return new FileInputStream(new File(path,fileName));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
return null;
}
public String getContentDisposition(){
try {
if(fileName==null||fileName.isEmpty()){
return "inline";
}
return "attachment;filename="+URLEncoder.encode(fileName, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return "inline";
}
}
比java的io方便多了
每一个对象都有一把独占锁。独占锁只限制线程对它的同步方法的访问,对非同步方法,独占锁没有意义。
synchronized是java中解决同步问题的一个方法。synchronized可以用来修饰方法,这样的方法就是同步方法。一个对象里可以有任意多个同步方法。任意时间里只能有一个线程访问这些同步方法。例如,现成T1在访问同步方法M1,此时还有一个同步方法M2此时无人访问,但是由于已经有一个线程正在访问这个对象的同步方法M1,所以试图访问M2的线程将被阻塞。直到T1对M1的访问结束。
可见同步方法有在一个同步方法运行期内保证只有一个线程能够进入。一旦方法结束,里面的线程就会失去对该对象的独占权。
synchronized语句块,可以指定要获得哪个对象的独占权,一旦获得,在语块执行过程中,线程会始终掌握该对象的独占权。此时,它可以连续访问多个该对象的同步方法。在整个过程中,独占权都牢牢掌握在该线程手中,其它线程没有任何机会。而如果没有同步语句块,则如果连续访问某个对象的同步方法,则在前一个方法返回,到下一个方法调用的间隙内,其他线程有机会抢先获得该对象的独占权。
final在Java中是一个保留的关键字,可以声明成员变量、方法、类以及本地变量。一旦你将引用声明作final,你将不能改变这个引用了,编译器会检查代码,如果你试图将变量再次初始化的话,编译器会报编译错误。
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
public gongnengJF() {
initComponents();
if(MessagePost.getUserPost().equals("职工")){
this.jMenuItem2.setEnabled(false);
里面initComponents什么意思setEnabled是什么?
/*
initComponents()
是你在使用GUI工具设计GUI界面时,NetBeans系统自动生成的方法。其功能是在界面添加各个组件,并为它们注册监听器。把initComponents()放在构造方法中,目的在于:在主类调用构造方法初始化时,完成了界面的绘制。
setEnabled(false)
是设置组件是否可用。
为false时,是不可用。
*/
private void jButton1MouseClicked(java.awt.event.MouseEvent evt) private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
new pingcebumen().setVisible(true);
this.setVisible(false);
}
private void jButton2MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
String newpwd=javax.swing.JOptionPane.showInputDialog(rootPane, "输入新密码");
String sql="update renyuanlist password ="+newpwd+"where username ='"+MessagePost.getUserName()+"'";
Database db = new Database();
db.executeDML(sql);
}
private void jMenuItem1MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
new ziliao().setVisible(true);
String newpwd = null;
String sql="select * from renyuanlist where password ="+newpwd+"where username ='"+MessagePost.getUserName()+"'";
}
private void jMenu1MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
new ziliao().setVisible(true);
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
MessagePost.setUserPost("职工");
new gongnengJF().setVisible(true);
}
});
}
// Variables declaration - do not modify
//私有的成员属性,定义GUI图形界面的按钮,菜单等。
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JMenu jMenu1;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JMenuItem jMenuItem1;
private javax.swing.JMenuItem jMenuItem2;
private javax.swing.JMenuItem jMenuItem3;
private javax.swing.JMenuItem jMenuItem4;
Swing是一组Java程序元件,它能够创建图象用户接口(GUI)元件,如按钮和滚动条,它们独立于特定操作系统的开窗口系统。Swing元件使用Java Foundation Classes(JFC)。
new gongnengJF().setVisible(true);
this.setVisible(false);
通过new 创建的对象,与this不是同一个对象。
鼠标监听事件,包括单击,双击等。。。