- 浏览: 795774 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (413)
- 项目 (12)
- 统计分析 (3)
- java (7)
- jquery (15)
- oracle (33)
- 面试题 (8)
- 排序算法 (3)
- 蛇形矩阵算法 (3)
- 字符串 (1)
- ICU分析插件 (1)
- html5 (1)
- Ubuntu (4)
- Linux (4)
- memcache (2)
- myeclipse (3)
- hadoop (18)
- hbase (14)
- hive (7)
- zookeeper (2)
- pig (0)
- mysql (11)
- Redis (8)
- MongoDB (7)
- Cassandra (0)
- Neo4j (0)
- springMVC (3)
- ibatis (1)
- mahout (0)
- Highcharts (1)
- maven (7)
- 生活随笔 (6)
- 存储过程 (4)
- mybatis (3)
- bootstrap (19)
- 工作中遇到的问题 (23)
- node.js (3)
- web前段 (6)
- AngularJS (5)
- GIT (2)
- nginx (5)
- hive,sqoop (1)
- 高并发 (2)
- 算法 (3)
- 工具类 (2)
- ckeditor (1)
- java代码自动生成 (3)
- ueditor (6)
- svn (4)
- easyui (3)
- 数据挖掘 (4)
- ligerUi (1)
- fullcalendar (1)
- 微信公众号开发 (1)
- tomcat (2)
- 面试 (7)
- 数据库性能优化 (2)
- R语言 (3)
- R (6)
- ylcf (39)
- CentOS (13)
- docker (28)
- Spring Boot (10)
- Nexus (1)
- thymeleaf (2)
- nodejs (2)
- swagger (1)
- Jenkins (1)
- SpringCloud (9)
- vue (1)
- springClould问题汇总 (3)
- layui (1)
最新评论
-
greatwqs:
在前置请求页面返回token, 在提交接口中验证token, ...
Spring MVC 用拦截器+token防止重复提交 -
zhukewen_java:
这种方法的缺陷在于如果请求了两个save=true的方法,后面 ...
Spring MVC 用拦截器+token防止重复提交 -
byrgl5:
请问如果重复提交了三次呢?能避免吗?
Spring MVC 用拦截器+token防止重复提交 -
381895649:
是不是有病?
服务器被如下ip攻击,如何根据ip超找攻击来源 -
greatwqs:
最棒的10款MySQL管理工具
package a; public class javaEdit { public static void main(String[] args) { MyTest mt=new MyTest(); } }
package a; public class ListEle { String text; int index; public ListEle(String text, int index) { this.text=text; this.index=index; } public ListEle() { text = ""; index= 0; } }
package a; import java.util.LinkedList; class MyQueue { private LinkedList<ListEle> ll = new LinkedList<ListEle>(); public void put(ListEle o) { ll.addFirst(o); } public ListEle get(int index) { return ll.get(index); } public int size() { return ll.size(); } public void removeLast() { ll.removeLast(); } public void clear() { ll.clear(); } }
package a; import java.awt.Color; import java.awt.Font; import java.awt.GridLayout; import java.awt.TextArea; import java.awt.event.*; import java.io.*; import javax.swing.*; public class MyTest extends JFrame implements ActionListener { // 定义所需要的组件 TextArea jta = null; TextArea jta1 = null; // 菜单条 JMenuBar jmb = null; JMenu jm = null, jm1 = null, jmNew, jmHelp; JMenuItem jmi1 = null,jmi11; JMenuItem jmi2 = null, jmi3 = null, jmi4 = null, jmi5, jmi6, jmHelp1, jmBefore, jmNext; String fileNameE, fN, end = ".java"; String name = "ClassName", namefile = ""; String savepath = "", openName = ""; String javaName = "";// 保存打开的文件后java程序的名称 String ph; File path; boolean isSaveJava = false;// 定义一个标志,程序是否保存 boolean isBianyi = false; int isOpenOrNew = 0;// 定义一个变量,用于判断是打开的java文件(isOpenOrNew=1)还是新建的java程序(isopenOrNew=2) int runOpenOrNew = 0;// 定义一个变量,用于判断运行的是打开的java文件(isOpenOrNew=1)还是新建的java程序(isopenOrNew=2) int currentStep = 0, step = 1; MyQueue mq = new MyQueue(); public MyTest() { this.setTitle("记事本"); // 初始化文本编译器(代码区) jta = new TextArea("/**\n*代码区间*/\n", 10, 50);// 文本编辑于 jta.setBackground(Color.pink);// 设置颜色 jta.setFont(new Font("Dialog", Font.PLAIN, 15)); // 初始化文本编译器(运行区) jta1 = new TextArea("编译运行区间", 10, 50); jta1.setBackground(Color.green); jta1.setFont(new Font("Dialog", Font.PLAIN, 15)); // 初始化工具栏 jmb = new JMenuBar(); // 初始化菜单栏 jm = new JMenu("文件"); jm1 = new JMenu("运行"); jmNew = new JMenu("项目"); jmHelp = new JMenu("帮助(H)"); // 设置助记符 jm.setMnemonic('F'); jm1.setMnemonic(1); // 初始化子菜单列表 jmi1 = new JMenuItem("打开文件", new ImageIcon("./image/61.gif")); jmi2 = new JMenuItem("文件另存为", new ImageIcon("./image/61.gif")); jmi11=new JMenuItem("退出", new ImageIcon("./image/61.gif")); jmi3 = new JMenuItem("编译", new ImageIcon("./image/61.gif")); jmi4 = new JMenuItem("运行", new ImageIcon("./image/61.gif")); jmi5 = new JMenuItem("新建Java", new ImageIcon("./image/61.gif")); jmi6 = new JMenuItem("保存java", new ImageIcon("./image/61.gif")); jmHelp1 = new JMenuItem("帮助", new ImageIcon("./image/61.gif")); jmBefore = new JMenuItem("上一步", new ImageIcon("./image/61.gif")); jmNext = new JMenuItem("下一步", new ImageIcon("./image/61.gif")); // 注册监听 jmi5.addActionListener(this); jmi5.setActionCommand("newjava"); jmi6.addActionListener(this); jmi6.setActionCommand("savejava"); jmi1.addActionListener(this); jmi1.setActionCommand("open"); jmi2.addActionListener(this); jmi2.setActionCommand("save"); jmi11.addActionListener(this); jmi11.setActionCommand("exit"); jmi3.addActionListener(this); jmi3.setActionCommand("bianyi"); jmi4.addActionListener(this); jmi4.setActionCommand("run"); jmHelp1.addActionListener(this); jmHelp1.setActionCommand("help"); jmBefore.addActionListener(this); jmBefore.setActionCommand("before"); jmNext.addActionListener(this); jmNext.setActionCommand("next"); // 设置工具栏 this.setJMenuBar(jmb); // 加入菜单栏 jmb.add(jm);// 文件 jmb.add(jm1);// 运行 jmb.add(jmNew);// 项目 jmb.add(jmHelp);// 帮助 // 加入菜单栏的子选项 // 文件的子菜单 jm.add(jmi1); jm.add(jmi2); jm.add(jmi11); // 运行的子菜单 jm1.add(jmi6); jm1.add(jmi3); jm1.add(jmi4); // 项目的子菜单 jmNew.add(jmi5); jmNew.add(jmBefore); jmNew.add(jmNext); // 帮助的子菜单 jmHelp.add(jmHelp1); // 设置布局管理其 this.setLayout(new GridLayout(2, 1)); this.add(jta); this.add(jta1); // 设置窗口大小 this.setSize(800, 600); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); // 将jta(即文本编辑区)增加键盘的监听事件 jta.addKeyListener(new KeyAdapter() { public void keyTyped(KeyEvent e) { addQ(); } }); } public void addQ() { // jta.getCaretPosition()返回文本插入符的位置。插入符的位置被限制在 0 // 和文本最后一个字符(包括)之间。如果没有设置文本或插入符,则默认插入符的位置为 0。 ListEle list = new ListEle(jta.getText(), jta.getCaretPosition()); if (jta.getText().length() > 0) { if (mq.size() < 200) { mq.put(list); } else { mq.removeLast();//移除并返回此列表中的最后一个元素 mq.put(list); } } } public void actionPerformed(ActionEvent e) { if (e.getActionCommand().equals("open")) { openFile(); } else if (e.getActionCommand().equals("save")) { saveFile(); } else if(e.getActionCommand().equals("exit")) { int a=JOptionPane.showConfirmDialog(this, "确定要离开?"); if(a==0) { System.exit(1); } } else if (e.getActionCommand().equals("newjava")) { newJava(); } else if (e.getActionCommand().equals("savejava")) { saveJava(); } else if (e.getActionCommand().equals("bianyi")) { bianyiJava(); } else if (e.getActionCommand().equals("run")) { runJava(); } else if (e.getActionCommand().equals("help"))// 帮助菜单 { helpFile(); } else if (e.getActionCommand().equals("before"))// 上一步 { if (currentStep + step <= mq.size() - 1) { currentStep += step; } else { currentStep = mq.size() - 1; } jta.setText(mq.get(currentStep).text); } else if (e.getActionCommand().equals("next"))// 下一步 { if (currentStep - step >= 0) { currentStep -= step; } else { currentStep = 0; } jta.setText(mq.get(currentStep).text); } } private void helpFile() { System.out.println("nihao"); String help1 = "各按钮用法说明:" + "\n\n" + "1.保存文件默认是在当前目录下(即和编译器exe文件相同目录)。"; String help2 = "\n\n" + "2.如果要把其他地方复制好的代码直接贴到编辑区编译," + "\n首先用所贴代码相应的*.java文件名来【新建】"; String help3 = "一个新文件再覆盖自动生成的代码,否则编译器将无法得到文件名而出错。" + "\n\n"; String help4 = "加到指定位置。" + "\n\n" + "6.本程序暂时需要JDK1.6版本才可运行,没有1.6版的同学可以用javac/java自行编译\n"; String help5 = "程序附带的源代码来使用。" + "\n\n" + "说明:" + "\n"; String help6 = "如果对其中某个部分比较感兴趣,可以联系我一起讨论。" + "\n\n" + ".第一次编写这类软件,没啥经验,"; String help7 = "所以肯定是BUG满天飞,如果有兴趣让它变得更完善,或者有其他意见或者建议,请及时联系我,谢谢!"; String help8 = "\n\n" + "QQ: 799078779 " + "\n\n" + "E-mail: 799078779@qq.com" + "\n\n"; JOptionPane.showMessageDialog(this, help1 + help2 + help3 + help4 + help5 + help6 + help7 + help8, "帮助", JOptionPane.QUESTION_MESSAGE); } private void runJava() { // try // { // System.out.println("ph+name="+ph.toString()+"\\"+name); // // //访问这个类 // Class cls=Class.forName(ph.toString()+"\\"+name+".class"); // //调用main方法 // Method main=cls.getMethod("main", new Class[] {String[].class}); // // main.invoke(null, new Object[] {new String[0]}); // //System.setOut(new PrintStream(jta1.getText())); // // } // catch(Exception e2) // { // e2.printStackTrace(); // } if (isBianyi == true) { if (isOpenOrNew == 2) { Runtime rt = Runtime.getRuntime(); try { String s, cmd; cmd = new String("java " + name);// Java的执行命令 Process p = rt.exec(cmd);// 调用进程去执行命令 jta1.setText(jta1.getText() + "执行命令:" + cmd + "\n");// 重定向执行结果 // 重定向错误信息 BufferedReader err = new BufferedReader( new InputStreamReader(p.getErrorStream())); while ((s = err.readLine()) != null) { jta1.setText(jta1.getText() + s + "\n"); } // 重定向输出信息(将输出的信息存放到jta1中显示出来) BufferedReader in = new BufferedReader( new InputStreamReader(p.getInputStream())); while ((s = in.readLine()) != null) { jta1.setText(jta1.getText() + s + "\n"); } } catch (Exception eee) { eee.printStackTrace(); } } if (isOpenOrNew == 1) { javaName = javaName.substring(0, javaName.length() - 5); System.out.println("javaName=" + javaName); Runtime rt = Runtime.getRuntime(); try { String s, cmd, cm; cmd = new String("java " + javaName);// Java的执行命令 Process p = rt.exec(cmd);// 调用进程去执行命令 jta1.setText(jta1.getText() + "执行命令:" + cmd + "\n");// 重定向执行结果 // 重定向错误信息 BufferedReader err = new BufferedReader( new InputStreamReader(p.getErrorStream())); while ((s = err.readLine()) != null) { jta1.setText(jta1.getText() + s + "\n"); } // 重定向输出信息(将输出的信息存放到jta1中显示出来) BufferedReader in = new BufferedReader( new InputStreamReader(p.getInputStream())); while ((s = in.readLine()) != null) { jta1.setText(jta1.getText() + s + "\n"); } } catch (Exception eee) { eee.printStackTrace(); } } } else { showMessage("郑云飞友情提示您:请先编译"); } } private void bianyiJava() { if (isSaveJava == true && isOpenOrNew == 2) { // System.out.println("path="+path.toString()); // JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); // int results = compiler.run(null, null, null,path.toString()); // jta1.setText((results == 0) ? "郑云飞友情提示您:编译成功\n" : // "郑云飞友情提示您:编译失败\n"); // jta1.setText(jta1.getText() + "执行命令:" + "javac " // +name+".java"+"\n"); Runtime t1 = Runtime.getRuntime(); String cmd = new String("javac " + fileNameE); try { Process p = t1.exec(cmd); isBianyi = true; jta1.setText("执行命令:" + cmd + "\n"); BufferedReader err = new BufferedReader(new InputStreamReader(p .getErrorStream()));// 重定向错误信息 String s = "", totalS = ""; while ((s = err.readLine()) != null) { jta1.setText(jta1.getText() + s + "\n"); } // jta1.setText(totalS+"\n"); // 重定向输出信息 BufferedReader in = new BufferedReader(new InputStreamReader(p .getInputStream())); String sin = "", totalSin = ""; while ((sin = in.readLine()) != null) { jta1.setText(jta1.getText() + sin + "\n"); } } catch (IOException e1) { e1.printStackTrace(); } } else if (isSaveJava == true && isOpenOrNew == 1) { Runtime t1 = Runtime.getRuntime(); String cmd = new String("javac " + openName); try { Process p = t1.exec(cmd); jta1.setText("执行命令:" + cmd + "\n"); BufferedReader err = new BufferedReader(new InputStreamReader(p .getErrorStream()));// 重定向错误信息 String s = "", totalS = ""; while ((s = err.readLine()) != null) { jta1.setText(jta1.getText() + s + "\n"); } // jta1.setText(totalS+"\n"); // 重定向输出信息 BufferedReader in = new BufferedReader(new InputStreamReader(p .getInputStream())); String sin = "", totalSin = ""; while ((sin = in.readLine()) != null) { jta1.setText(jta1.getText() + sin + "\n"); } } catch (IOException e1) { e1.printStackTrace(); } } else { String str = "郑云飞友情提示您:请先保存您编写的程序"; showMessage(str); jta1.setText(str); } } private void saveJava() { isSaveJava = true; String file = ""; if (isOpenOrNew == 1) { file = new String(openName); } else if (isOpenOrNew == 2) { file = new String(name + ".java"); } File dir = new File("."); ph = new String(); try { ph = dir.getCanonicalPath();// 返回此抽象路径名的规范路径名字符串。 } catch (IOException ioe) { ioe.printStackTrace(); } path = new File(ph + "\\" + file); int i = 10; if (path.exists()) { i = JOptionPane.showConfirmDialog(this, "文件已经存在是否覆盖?"); // 如果选择是 i=0 否i=1 取消 i=2 点击× i=-1 System.out.println("i=" + i); } if (i == JOptionPane.YES_OPTION || i == 10) { BufferedReader in = new BufferedReader(new StringReader(jta.getText())); try { PrintWriter out = new PrintWriter(file); String s; while ((s = in.readLine()) != null) { out.println(s); } jta1.setText(jta1.getText() + "执行命令:保存文件到当前目录。" + "\n"); if (out != null) { out.close(); } } catch (IOException ee) { ee.printStackTrace(); } } else if (i == JOptionPane.NO_OPTION) { jta1.setText(jta1.getText() + "文件未保存。" + "\n"); } } private void newJava() { isOpenOrNew = 2;// 标志是新建的java程序,而不是打开的java程序 boolean flag = true; String head = "/**" + "\n" + " * 项目名称:Java可视化编译器\n" + " * 创作人:郑云飞\n * 项目大纲:1.Swing,2.IO 3,线程\n * 版本:java 1.0测试版\n*/\n"; while (flag) { flag = false; fileNameE = JOptionPane.showInputDialog("输入文件名称(例如 abc.java ):"); if (!(fileNameE.endsWith(".java"))) { showMessage("文件名类型错误,应为 *.java"); flag = true; } else { name = new String(fileNameE .substring(0, fileNameE.indexOf(end)));// 获取输入的类名称 // 自动生成的代码 jta.setText(head); jta.setText(jta.getText() + "public class " + name + "\n{\n\tpublic static void main(String[] args)" + "\n\t{"); jta .setText(jta.getText() + "\t\n\t\t" + "System.out.println(\"欢迎进入java编程世界,您可以在这里畅游java品味人生!\");" + "\n\t}\n}"); } } } private void saveFile() { // 文件选择组件 JFileChooser jfc = new JFileChooser(); // 设置名字 jfc.setDialogTitle("请选择保存的路径...."); // 默认方式 jfc.showSaveDialog(null); // 显示 jfc.setVisible(true); savepath = jfc.getSelectedFile().getAbsolutePath(); namefile = jfc.getSelectedFile().getParent(); Writer fr = null; BufferedReader br = null; BufferedWriter bw = null; try { fr = new FileWriter(savepath); bw = new BufferedWriter(fr); bw.write(this.jta.getText()); System.out.println("保存成功"); if (bw != null) { bw.close(); } if (br != null) { br.close(); } } catch (Exception e1) { showMessage("保存失败"); jta1.setText("保存失败"); } } private void openFile() { isOpenOrNew = 1;// 标志是打开的java程序,而不是新建的java程序 // 文件选择组件 JFileChooser jfc = new JFileChooser(); // 设置名字 jfc.setDialogTitle("请选择文件...."); // 默认方式 jfc.showOpenDialog(null); // 显示 jfc.setVisible(true); String filepath = jfc.getSelectedFile().getAbsolutePath(); openName = jfc.getSelectedFile().getName();// 获取打开的文件名 javaName = jfc.getSelectedFile().getName(); BufferedReader br = null; FileReader fr = null; try { fr = new FileReader(filepath); br = new BufferedReader(fr);// 封装管道流 String s = ""; String total = ""; while ((s = br.readLine()) != null) { // 将读到的数据存放的jta中 total += s + "\r\n"; } jta.setText(total); if (br != null) { br.close(); } if (fr != null) { fr.close(); } } catch (Exception e1) { showMessage("打开失败"); } } public static void showMessage(String str) { JOptionPane.showMessageDialog(null, str, "错误", JOptionPane.ERROR_MESSAGE); } }
- 郑云飞Java可视化编译器.rar (12.2 KB)
- 下载次数: 72
评论
10 楼
dechenglee
2012-01-03
先下下来,看看再说
9 楼
nirvana1988
2011-06-07
确实不咋规范,也没有相关的文字说明
8 楼
anglestudio
2011-06-07
在我电脑上竟然连菜单都隐藏了.
7 楼
lgsun592
2011-06-07
这哪是新手帖啊,都被整成隐藏啦
话说从命名规则,import等等的风格上来说,我不喜欢看
话说从命名规则,import等等的风格上来说,我不喜欢看
6 楼
sokoo108
2011-06-07
看import也能看出是awt的撒
5 楼
chunquedong
2011-06-07
编辑器还是编译器?
4 楼
JE帐号
2011-06-07
什么情况?
3 楼
freish
2011-06-07
不怕新手贴啊
2 楼
zhangtsi
2011-06-07
樓主自戀,鑒定完畢
1 楼
003
2011-06-07
要放也放一个基本能用的版本上来吧
AWT的东东还是换了吧,标题是Swing,我还以为是纯Swing组件呢,结果在输入区一点右键就发现不是了,后来再回来一看代码果然不是
AWT的东东还是换了吧,标题是Swing,我还以为是纯Swing组件呢,结果在输入区一点右键就发现不是了,后来再回来一看代码果然不是
相关推荐
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
毕业设计物流管理系统的设计与实现(Java版本) 采用Struts2+hibernate+Oracle10g+Tomcat 涉及车辆管理,配送点管理,运输方式管理,订单管理,员工管理,用户管理,部门管理,权限管理,角色管理等基础管理功能。
基于VB+access实现的成绩分析统计系统(论文+源代码) 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
ASP+ACCESS网上购物系统设计(源代码+设计说明书+调研报告).zip
污水处理计算书
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
ASP+ACCESS在线考试系统设计(源代码+设计说明书).zip
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
毕业设计基于知识图谱和循环神经网络的推荐系统python源码+数据集.zip毕业设计基于知识图谱和循环神经网络的推荐系统python源码+数据集.zip毕业设计基于知识图谱和循环神经网络的推荐系统python源码+数据集.zip毕业设计基于知识图谱和循环神经网络的推荐系统python源码+数据集.zip 毕业设计基于知识图谱和循环神经网络的推荐系统python源码+数据集.zip 毕业设计基于知识图谱和循环神经网络的推荐系统python源码+数据集.zip毕业设计基于知识图谱和循环神经网络的推荐系统python源码+数据集.zip
行业报告
基于matlab实现的导线网平差,主要是附和导线平差程序,用于计算各点坐标并评定其精度。.rar
基于VB+access实现的学生学籍管理系统(系统+论文) 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。
ASP基于BS的工艺品展示系统的设计与实现(源代码+设计说明书).zip
污水处理计算书
ASP+ACCESS网上花店毕业设计全套(设计说明书+源代码+说明).zip
污水处理计算书
行业报告
ASP基于WEB教学评估系统设计(源代码+设计说明书).zip
JSP教师档案管理系统(源代码+设计说明书).zip