首页 文章 精选 留言 我的

精选列表

搜索[java],共10000篇文章
优秀的个人博客,低调大师

前端jsp与后端servlet传值(java web)

jsp中js使用jQuery封装好的 $.ajax()方法与服务器进行交互 var jsonStick = this.strtoJson(); $.ajax({ type : 'post',//不起作用 要用jsonP url : 'controllerServlet',//要传输数据对象的地址 contentType : "application/x-www-form-urlencoded",//转化为form表单传值 data : { "js" : jsonStick }, //前面的js是服务端获取的ID 后面的jsonStick是处理后的json对象 cache : false, dataType : 'text',//这个关系到你能不能正确接收到servlet 响应的数据 async : false, //因为ajax默认是异步调用的,所以得到的返回值是空值,要得到值必须改成同步:async: false success : function(data) { //console.log(data); flag = data; //采用全局变量flag接收数据(data未作处理) }, error : function(msg) { //ajax请求失败后触发的方法 //弹出错误信息 console.log(msg); } }); //数据处理函数 function() { //'':this.note.name, var arr = []; var json = {}; json.note_id = this.id json.note = this.text; json.left = this.left; json.top = this.top; json.zindex = this.zIndex; if (this.sqlId == null) { this.sqlId = 0; } json.sqlId = this.sqlId; arr.push(json); var jsonStick = JSON.stringify(arr);//格式化json数据 return jsonStick; } servlet接收 处理 响应 protected void doGet(.........){ String js = request.getParameter("js");//接收jsp传过来的数据 JSONArray json = JSONArray.fromObject(js);//对数据进行数组转化 JSONObject jsonOne = json.getJSONObject(0);//获取确定的json对象 boolean flag = true; PrintWriter out = response.getWriter(); out.print(flag);//将flag传给jsp out.close(); } jsp接收响应 并对数据进行处理 $.ajax({ type : 'post', url : 'sendServlet', cache : false, dataType : 'json', async : false, //因为ajax默认是异步调用的,所以得到的返回值是空值,要得到值必须改成同步:async: false success : function(data) { //console.log(data.result.note) for (var i in data) { console.log(data[i]) note = new Note(); note.id = data[i].note_id; note.text = data[i].note; note.timestamp = new Date().getTime(); note.left = data[i].left; note.top = data[i].top; note.zIndex = data[i].zindex; } }, error : function(msg) { //ajax请求失败后触发的方法 //弹出错误信息 console.log(msg); } }); 中间用到的jar包以及js https://pan.baidu.com/s/1XEOkM1as_10I92WAzooBuA 密码:gix8

优秀的个人博客,低调大师

Java之所有输入流输出流的分类

(1)字节输入流 基类:InputStream FileInputStream、ByteArrayInputStream、PipedInputStream、BufferedInputStream、ObjectInputStream、FilterInputStream、PushbackInputStream、DataInputStream (2)字节输出流 基类:OutputStream FileOutputStream、ByteArrayOutputStream、PipedOutputStream、BufferedOutputStream、ObjectOutputStream、FilterOutputStream、PrintStream、DataOutputStream (3)字符输入流 基类:Reader FileReader、CharArrayReader、PipedReader、StringReader、BufferedReader、InputStreamReader、FilterReader、PushbackReader (4)字符输出流 基类:Writer FileWriter、CharArrayWriter、PipedWriter、StringWriter、BufferedWriter、OutputStreamWriter、FilterWriter、PrintWriter

优秀的个人博客,低调大师

Java统计代码段的执行时间

版权声明:欢迎评论和转载,转载请注明来源。 https://blog.csdn.net/zy332719794/article/details/80180571 通常在进行代码测试和代码优化的时候,会想要知道代码执行时每段代码的执行时间,以便进行代码优化和调整。 下面封装的类是利用代码段标记和执行时间差进行统计。使用时,仅需要在代码段中加入CodeTimer.set("标记");就可以了,打印时调用CodeTimer.print();统计字段有代码段、总时间(纳秒)、执行次数、平均时间。 封装类: /** * 统计代码段执行时间。 * 在需要进行统计的代码段调用CodeTimer.set()方法进行标记。 * 打印时调用CodeTimer.print()方法 */ public class CodeTimer { private static String lastMark = "start"; private static long lastTime = System.nanoTime(); private static final Map<String, Long> timeMap = new LinkedHashMap<String, Long>(); private static final Map<String, Long> timeHappenCount = new LinkedHashMap<String, Long>(); public static void set(int mark) { set("" + mark); }; public static void set(String mark) { long thisTime = System.nanoTime(); String key = "[" + lastMark + "]->[" + mark + "]"; Long lastSummary = timeMap.get(key); if (lastSummary == null) lastSummary = 0L; timeMap.put(key, System.nanoTime() - lastTime + lastSummary); Long lastCount = timeHappenCount.get(key); if (lastCount == null) lastCount = 0L; timeHappenCount.put(key, ++lastCount); lastTime = thisTime; lastMark = mark; }; public static void print() { Integer a = 0; System.out.println( String.format("%25s %18s %18s %18s", "PROCESS", "TOTAL_TIME", "REPEAT_TIMES", "AVG_TIME")); for (Entry<String, Long> entry : timeMap.entrySet()) { System.out.println( String.format("%25s %18s %18s %18s", entry.getKey(), String.format("%,d", entry.getValue()), timeHappenCount.get(entry.getKey()), String.format("%,d", entry.getValue() / timeHappenCount.get(entry.getKey())))); } } } 打印出的效果形如: PROCESS TOTAL_TIME REPEAT_TIMES AVG_TIME [start]->[0] 152,312 1 152,312 [0]->[4] 12,223,365 1 12,223,365 [4]->[10] 101,838 6 16,973 [10]->[8] 1,246,189 34 36,652 [8]->[5] 489,096,299 34 14,385,185 [5]->[6] 122,247,497 34 3,595,514 [6]->[7] 2,686,057,029 34 79,001,677 [7]->[1] 22,334 1 22,334 [1]->[9] 911,191 1 911,191

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册