当前位置:首页 » 编程语言 » java生成器

java生成器

发布时间: 2022-12-10 21:27:40

‘壹’ 昆明java培训:学习java需要什么软件java编程软件哪个好

学习java要什么软件?java编程软件哪个好?昆明北大青鸟java培训小编为你详细解答!一、JDK(JavaDevelopmentKit)JDK是整个Java的核心,包括了Java运行环境(JavaRuntimeEnvirnment),一堆Java工具和Java基础的类库(rt.jar)。
不论什么Java应用服务器实质都是内置了某个版本的JDK。
因此掌握JDK是学好Java的第一步。
最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK等等。
其中IBM的JDK包含的JVM(JavaVirtualMachine)运行效率要比SunJDK包含的JVM高出许多。
而专门运行在x86平台的Jrocket在服务端运行效率也要比SunJDK好很多。
但不管怎么说,我们还是需要先把SunJDK掌握好。
1、JDK的下载和安装JDK又叫做J2SE(Java2SDKStandardEdition),可以从Sun的Java网站上下载到,#/j2se/downloads.html;,JDK当前最新的版本是J2SDK1.4.2,建议下载该版本的JDK,下载页面在这里:http://#/j2se/1.4.2/download.html。
下载好的JDK是一个可执行安装程序,默认安装完毕后会在C:ProgramFilesJava目录下安装一套JRE(供浏览器来使用),在C:j2sdk1.4.2下安装一套JDK(也包括一套JRE)。
然后我们需要在环境变量PATH的最前面增加java的路径C:j2sdk1.4.2in。
这样JDK就安装好了。
2、JDK的命令工具JDK的最重要命令行工具:java:启动JVM执行classjavac:Java编译器jar:Java打包工具javadoc:Java文档生成器这些命令行必须要非常非常熟悉,对于每个参数都要很精通才行。
对于这些命令的学习,JDKDocumentation上有详细的文档。
二、JDKDocumentationDocumentation在JDK的下载页面也有下载连接,建议同时下载Documentation。
Documentation是最最重要的编程手册,涵盖了整个Java所有方面的内容的描述。
可以这样说,学习Java编程,大部分时间都是花在看这个Documentation上面的。
我是随身携带的,写Java代码的时候,随时查看,须臾不离手。
三、应用服务器(AppServer)AppServer是运行Java企业组件的平台,构成了应用软件的主要运行环境。
当前主流的AppServer是BEA公司的WeblogicServer和IBM公司的Websphere以及免费的Jboss,选择其中一个进行学习就可以了,个人推荐Weblogic,因为它的体系结构更加干净,开发和部署更加方便,是Java企业软件开发人员首选的开发平台。
下面简要介绍几种常用的AppServer:1、TomcatTomcat严格意义上并不是一个真正的AppServer,它只是一个可以支持运行Serlvet/JSP的Web容器,不过Tomcat也扩展了一些AppServer的功能,如JNDI,数据库连接池,用户事务处理等等。
Tomcat被非常广泛的应用在中小规模的JavaWeb应用中,因此本文做一点下载、安装和配置Tomcat的介绍:Tomcat是Apache组织下Jakarta项目下的一个子项目,它的主网站是:#/tomcat/;,Tomcat最新版本是Tomcat4.1.27,软件下载的连接是:http://#/dist/jakarta/tomcat-4/binaries/;。
下载Tomcat既可以直接下载zip包,也可以下载exe安装包(个人建议zip更干净些),不管哪种情况,下载完毕安装好以后(zip直接解压缩就可以了)。
需要设置两个环境变量:JAVA_HOME=C:j2sdk1.4.2CATALINA_HOME=D: omcat4(你的Tomcat安装目录)这样就安装好了,启动Tomcat运行CATALINA_HOMEinstartup.bat,关闭Tomcat运行shutdown.bat脚本
Tomcat启动以后,默认使用8080端口,因此可以用浏览器访问http://localhost:8080来测试Tomcat是否正常启动。
Tomcat提供了两个Web界面的管理工具,URL分别是:http://localhost:8080/admin/index.jsp;http://localhost:8080/manager/html;在启用这两个管理工具之前,先需要手工配置一下管理员用户和口令。
用一个文本工具打开CATALINA_HOMEconf omcat-users.xml这个文件,加入如下几行:这样用户“robbin”就具备了超级管理员权限。
重新启动Tomcat以后,你就可以使用该用户来登陆如上的两个管理工具,通过Web方式进行Tomcat的配置和管理了。
2、BEAWeblogicWeblogic可以到BEA的网站上免费注册之后下载到最新的Weblogic8.1企业版,License可以免费使用1年时间,其实这已经完全足够了。
Weblogic的下载连接:#/index.jsp,Weblogic的在线文档:http://#/;。
3、IBMWebshpereWebsphere同样可以下载到免费的试用版本,到IBM的developerWorks网站可以看到Websphere试用产品的下载和相关的Websphere的资料,developerWorks中文网站的连接是:#/developerWorks/cn/wsdd/;,Websphere的下载连接:http://#/wsdd/downloads/WASsupport.html;。
4、JbossJboss是免费开源的AppServer,可以免费的从Jboss网站下载:#/index.html,然而Jboss的文档是不免费,需要花钱购买,所以为我们学习Jboss设置了一定的障碍。
在Jdon上有几篇不错的Jboss配置文档,可以用来参考:http://#/idea.html;四、Java应用的运行环境Java的应用可以简单分为以下几个方面:1、Java的桌面应用桌面应用一般仅仅需要JRE的支持就足够了。
2、JavaWeb应用Java的Web应用至少需要安装JDK和一个web容器(例如Tomcat),以及一个多用户数据库,Web应用至少分为三层:Browser层:浏览器显示用户页面Web层:运行Servlet/JSPDB层:后端数据库,向Java程序提供数据访问服务3、Java企业级应用企业级应用比较复杂,可以扩展到n层,最简单情况会分为4层:Browser层:浏览器显示用户页面Client层:Java客户端图形程序(或者嵌入式设备的程序)直接和Web层或者EJB层交互Web层:运行Servlet/JSPEJB层:运行EJB,完成业务逻辑运算DB层:后端数据库,向Java程序提供数据访问服务4、Java嵌入式应用Java嵌入式应用是一个方兴未艾的领域,从事嵌入式开发,需要从Sun下载J2ME开发包,J2ME包含了嵌入式设备专用虚拟机KVM,和普通的JDK中包含的JVM有所不同。
另外还需要到特定的嵌入式厂商那里下载模拟器。

‘贰’ java自带的uuid生成器生成的uuid靠谱吗

这是靠谱的。
因为java自带的UUID类,它是通过结合机器的网卡、时间、一个随即数来生成ID的。如果一台机器每秒产生10000000个ID,可以保证(概率意义上)3240年不重复。

‘叁’ java中随机数生成器中的种子是什么类型的参数表示什么随机数上限,随机区间长度

首先:
Random r=new Random(seedValue);

中的seedValue是种子,使用r.netInt()或者r.netLong()生成的值和种子没有明显的关系。
但如果同时声明两个Random类的实例,种子用同一个的话,那么产生同一个类型的随机数时,他们的结果是一样的。
netLong()的范围是Long类型所能表示的数据范围,同理netInt()。

‘肆’ java代码生成器怎么用

zip包,然后自动下载下来

1.预先定义好模板

最后放出源代码:

package com.et.controller.system.createcode;

import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import com.et.controller.base.BaseController;
import com.et.util.DelAllFile;
import com.et.util.FileDownload;
import com.et.util.FileZip;
import com.et.util.Freemarker;
import com.et.util.PageData;
import com.et.util.PathUtil;

/**
* 类名称:FreemarkerController
* 创建人:Harries
* 创建时间:2015年1月12日
* @version
*/
@Controller
@RequestMapping(value=”/createCode”)
public class CreateCodeController extends BaseController {

/**
* 生成代码
*/
@RequestMapping(value=”/proCode”)
public void proCode(HttpServletResponse response) throws Exception{
PageData pd = new PageData();
pd = this.getPageData();

/* ============================================================================================= */
String packageName = pd.getString(“packageName”); //包名 ========1
String objectName = pd.getString(“objectName”); //类名 ========2
String tabletop = pd.getString(“tabletop”); //表前缀 ========3
tabletop = null == tabletop?””:tabletop.toUpperCase(); //表前缀转大写
String zindext = pd.getString(“zindex”); //属性总数
int zindex = 0;
if(null != zindext && !””.equals(zindext)){
zindex = Integer.parseInt(zindext);
}
List<String[]> fieldList = new ArrayList<String[]>(); //属性集合 ========4
for(int i=0; i< zindex; i++){
fieldList.add(pd.getString(“field”+i).split(“,fh,”)); //属性放到集合里面
}

Map<String,Object> root = new HashMap<String,Object>(); //创建数据模型
root.put(“fieldList”, fieldList);
root.put(“packageName”, packageName); //包名
root.put(“objectName”, objectName); //类名
root.put(“objectNameLower”, objectName.toLowerCase()); //类名(全小写)
root.put(“objectNameUpper”, objectName.toUpperCase()); //类名(全大写)
root.put(“tabletop”, tabletop); //表前缀
root.put(“nowDate”, new Date()); //当前日期

DelAllFile.delFolder(PathUtil.getClasspath()+”admin/ftl”); //生成代码前,先清空之前生成的代码
/* ============================================================================================= */

String filePath = “admin/ftl/code/”; //存放路径
String ftlPath = “createCode”; //ftl路径

/*生成controller*/
Freemarker.printFile(“controllerTemplate.ftl”, root, “controller/”+packageName+”/”+objectName.toLowerCase()+”/”+objectName+”Controller.java”, filePath, ftlPath);

/*生成service*/
Freemarker.printFile(“serviceTemplate.ftl”, root, “service/”+packageName+”/”+objectName.toLowerCase()+”/”+objectName+”Service.java”, filePath, ftlPath);

/*生成mybatis xml*/
Freemarker.printFile(“mapperMysqlTemplate.ftl”, root, “mybatis_mysql/”+packageName+”/”+objectName+”Mapper.xml”, filePath, ftlPath);
Freemarker.printFile(“mapperOracleTemplate.ftl”, root, “mybatis_oracle/”+packageName+”/”+objectName+”Mapper.xml”, filePath, ftlPath);

/*生成SQL脚本*/
Freemarker.printFile(“mysql_SQL_Template.ftl”, root, “mysql数据库脚本/”+tabletop+objectName.toUpperCase()+”.sql”, filePath, ftlPath);
Freemarker.printFile(“oracle_SQL_Template.ftl”, root, “oracle数据库脚本/”+tabletop+objectName.toUpperCase()+”.sql”, filePath, ftlPath);

/*生成jsp页面*/
Freemarker.printFile(“jsp_list_Template.ftl”, root, “jsp/”+packageName+”/”+objectName.toLowerCase()+”/”+objectName.toLowerCase()+”_list.jsp”, filePath, ftlPath);
Freemarker.printFile(“jsp_edit_Template.ftl”, root, “jsp/”+packageName+”/”+objectName.toLowerCase()+”/”+objectName.toLowerCase()+”_edit.jsp”, filePath, ftlPath);

/*生成说明文档*/
Freemarker.printFile(“docTemplate.ftl”, root, “说明.doc”, filePath, ftlPath);

//this.print(“oracle_SQL_Template.ftl”, root); 控制台打印

/*生成的全部代码压缩成zip文件*/
FileZip.zip(PathUtil.getClasspath()+”admin/ftl/code”, PathUtil.getClasspath()+”admin/ftl/code.zip”);

/*下载代码*/
FileDownload.fileDownload(response, PathUtil.getClasspath()+”admin/ftl/code.zip”, “code.zip”);

}

}

‘伍’ generator生成器是什么意思java

generator
[英][ˈdʒenəreɪtə(r)][美][ˈdʒɛnəˌretɚ]
n.
发电机,发生器; 电力公司; 生产者,创始者; [乐]基础低音;

1
They have a generator when the electricity fails.
他们有一台发电机,以备停电时所需。

‘陆’ Java使用字符串生成器来保存购物车中的商品信息,并能实现商品信息的添加、删除以及修改等功能

publicclassCart{
publicStringBuilderdata;
publicfloattotal;
publicCart(){
data=newStringBuilder();
}
publicvoidbuy(Goodsg){
g.gtotal=g.gnum*g.gprice;
total=total+g.gtotal;
data.append("[");
data.append(g.gname+"|");
data.append(g.gprice+"|");
data.append(g.gnum+"|");//还是竖线看着方便
data.append(g.gtotal);
data.append("]");
}
publicvoiddelete(Goodsg){
ints=data.indexOf(g.gname);
inte=data.indexOf("]",s);
data.delete(s-1,e+1);
total=total-g.gtotal;//删除商品,需要修改总额
}
publicvoipdate(Goodsg){
data.replace(3,10,"["+g.gname+"|"+g.gprice+"|"+g.gnum+"|"+g.gtotal);
}
publicvoidshow(){
System.out.print("总计金额:"+total+"");
System.out.println(data);
}
}


//Excute类里有点小错误,
//总觉得update方法不对头,你想怎么做?

‘柒’ java代码生成器能生成c语言代码吗用什么方法能实现呢

按照我的理解,可以的,代码生成器是跨平台,而且是跨语言的(至少是跨文本语言的,UML暂时不好说,)。
代码生成器作为一种开发工具,一般不直接作为程序的一部分,通常也不直接或间接(如通过AOP)被程序调用,他是通过编程的方式生成所需要的代码,然后将生成的代码作为源文件,复制到开发工具的代码区,然后进行编译。由于代码生成器是在编译之前运行的,因此它可以跨语言,你不但可以用代码生成器生成高级语言,也可以生成汇编语言,甚至机器码(0、1代码)。
但编写代码生成器是一个难点,它需要你了解目标编程语言的语法。如果别人已经把你需要的代码生成器写好了,你只需按要求使用即可,此时就不需要了解目标编程语言的语法。
JNI是通过Java调用C语言(或其他语言,一般是C),它的实现机制与代码生成器不同(JNI是通过代码调用实现功能,而代码生成器是生成代码,复制代码进行使用),由于C是底层语言,一些底层操作单靠Java无法实现,所以才需要JNI。
以上是我对代码生成器的个人理解,虽然提问时间已过了很久,但依然希望能对你及其他网友有所帮助。

‘捌’ 如何用JAVA编写个8位密码生成器(只能是大小写字母和数字)

1.先回答你第一个问题:ch!=null这句语句肯定是错误的,因为ch表示的是一个字符,null表示的是空对象,所以如果写ch!=null,编译的时候肯定是要报错的,你必须写成ch!=' ',前面的为英文引号,引号中间有一个空格。
2.回答你第2个问题,就是怎么使str!=null,你可以在for语句中加一个判断,假如ch== ' ',则这次循环不算,则结果中肯定不会出现null的,见下面的代码。
int j=0,n=0,i=0;
Srting str="";
char ch;
for(j=0;j<=7;j++){
n=Math.random()*122;
i=(int)n;
if((i>=48 && i<=57)||(i>=65 && i<=90) || (i>=97 && i<=122)){
ch=(char)i;
}
//判断来了
else {
j=j-1; //即是这次循环不算,则不可能出现null了

}

}
3.回答你第三个问题:如何输出这24个数呢?见下代码
for (int i = 1; i < 5; i++) {
for (int j = 1; j < 5; j++) {
if (i!=j) {
for (int j2 = 1; j2 < 5; j2++) {
if (j2!=j&&j2!=i) {
System.out.println(""+i+j+j2); //这句话把数字转换为字符串,
//便于输出

}
}
}
}
}

4. 我对你的意思理解为:用一个字符替换指定位的字符,如果是这样的话,replace不能够做到。
replace的方法原型为:
String replace(char oldChar, char newChar) ;
意思为:返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
如果要完成楼主的要求,请看以下代码,我写了一个替换函数:
String tihuan(String string,int index,char ch){
//index表示你要替换的字符位置,第一位为1
char[] chs=string.toCharArray();
chs[index-1]=ch;
String string1=new String(chs);
return string1;

}
//多多指教啊
//希望对你有帮助啊

‘玖’ java代码生成器用途

代码生成器就是根据特定的要求制定格式,灵活输出在项目中重复要用到的代码,节省项目时间,现在免费的代码生成器codesmith我经常用的,小玩意,不花钱

‘拾’ java:使用数组,循环,if判断及随机数工具类完成彩票生成器

按照你的要求编写的35选7彩票生成器的Java程序如下

importjava.util.Arrays;
publicclassF{
publicstaticStringrandom(){
int[]a=newint[7];
intcount=0;
while(count<7){
booleanflag=false;
inttmp=(int)(Math.random()*35)+1;
for(inti=0;i<a.length;i++){
if(tmp==a[i]){
flag=true;
}
}
if(flag==false){
a[count]=tmp;
count++;
}
}
//对选出的7个数排序
Arrays.sort(a);
//输出35选7的结果并在个位数前补0
Strings="";
for(inti=0;i<a.length;i++){
if(i==a.length-1){
if(a[i]<10){
s=s+"0"+a[i];
}else{
s=s+a[i];
}
}else{
if(a[i]<10){
s=s+"0"+a[i]+",";
}else{
s=s+a[i]+",";
}
}
}
returns;
}
publicstaticvoidmain(String[]args){
System.out.println(random());
}
}

运行结果

05,10,14,16,22,28,31

多试几次会有不同结果

热点内容
做解压橡皮 发布:2025-01-21 15:03:06 浏览:990
双系统win访问mac 发布:2025-01-21 14:53:52 浏览:484
安卓车机系统如何安装carplay 发布:2025-01-21 14:52:24 浏览:589
sql操作手册 发布:2025-01-21 14:46:08 浏览:311
青橙脚本 发布:2025-01-21 14:44:05 浏览:218
东风本田crv时尚版是什么配置 发布:2025-01-21 14:20:04 浏览:219
安卓如何多开软件每个机型不一样 发布:2025-01-21 14:15:29 浏览:501
iis配置php5 发布:2025-01-21 14:08:19 浏览:274
凯叔讲故事为什么联系不到服务器 发布:2025-01-21 13:56:50 浏览:387
linux镜像文件下载 发布:2025-01-21 13:34:36 浏览:218