一:准备数据源 在项目下新建一个student.txt文件,里面的内容为:1,zhangsan,202,lisi,213,wanger,194,fangliu,18 二:实现 Java版: 1.首先新建一个student的Bean对象,实现序列化和toString()方法,具体代码如下:import java.io.Serializable; @SuppressWarnings("serial") publicclass Student implements Serializable { String sid; String sname; int sage; public String getSid() { return sid; } p...
关于利用mongodb的shell执行脚本,这点在以前的文章中有点遗漏;现在在此篇博客中做个补充;一、在命令行中传入脚本文件定义一个javasciprt文件,名称为:script1.js,内容如下: print("I am albert shao in the script1.js") 定义另一个javascript文件,名称为script2,内容如下:print("I like to read and study") 在命令窗口运行得到如下结果:备注: 脚本文件必须放到mongo的同目录文件下如果希望使用指定的主机和端口的mon...
该断点下载可应用于浏览器或者迅雷等下载工具的下载,实现方式有多种多样的,本文只研究了单线程的下载,迅雷等下载工具会自动将下载资源分块并记录每块的起始位置,然后根据系统性能,起多线程下载。1. 基本原理从Request Header的Range信息里面获取已经下载的文件大小,然后创建response的outputstream 向客户端(浏览器或者迅雷等下载工具)写,写的时候又利用header里面的“Content-Range”, 让客户端知道从哪个位置开始写;读...
计数排序 前提:待排序表中的所有待排序关键字必须互不相同; 思想:计数排序算法针对表中的每个记录,扫描待排序的表一趟,统计表中有多少个记录的关键码比该记录的关键码小,假设针对某一个记录,统计出的计数值为c,则该记录在新的有序表中的存放位置即为c。 性能:空间复杂度:o(n);时间复杂度:o(n^2); 1publicint[] countSort(int[] array){2int[] tempArray = newint[array.length]; //引入辅助数组 3for(int i=...
【034-Search for a Range(搜索一个范围)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题 Given a sorted array of integers, find the starting and ending position of a given target value. Your algorithm’s runtime complexity must be in the order of O(log n). If the target is not found in the array, return [-1, -1]. For example, Given [5, 7, 7, 8, 8, 10] and target value 8, return [3, ...
JavaScript继承有构造函数继承、原型继承、复制继承、构造函数/原型组合继承等方法,这些继承方法各有特点。眼下最经常使用的就是构造函数/原型组合继承。/*** 实现继承* @param subType {Function} 子类构造函数* @param superType {Function} 父类构造函数*/functioninherit(subType, superType){functionF(){}F.prototype = superType.prototype;var p = new F();p.constructor = subType;subType.prototype = p; }/***...
Lock 的简介及使用 Lock是java 1.5中引入的线程同步工具,它主要用于多线程下共享资源的控制。本质上Lock仅仅是一个接口(位于源码包中的java\util\concurrent\locks中),它包含以下方法//尝试获取锁,获取成功则返回,否则阻塞当前线程voidlock(); //尝试获取锁,线程在成功获取锁之前被中断,则放弃获取锁,抛出异常void lockInterruptibly() throws InterruptedException; //尝试获取锁,获取锁成功则返回true,否则返...
题目链接:majority-element/*** Given an array of size n, find the majority element. The majority element is the element that appears more than ? n/2 ? times.You may assume that the array is non-empty and the majority element always exist in the array.**/ public class MajorityElement {// 40 / 40 test cases passed. // Status: Accepted // Runtime: 253 ms // Submitted: 1 minute ago//时间复杂度为 O(n),...
Default.aspx页面:先拉一个ScriptManager控件到页面,然后拉一个UpdatePanel控件。UpdatePanel里面放一个Label用于显示时间,放一个timer控件用于控制时间的更新。注意Label与Label都要放到UpdatePanel控件里面。最后,timer控件的Interval属性设置为1000,让它每1秒执行一次即更新时间。 Default.aspx.cs页面:只需在 protected void Page_Load(object sender, EventArgs e) 里面输入 Label1.Text = DateTime.Now.ToString(); 即...
【225-Implement Stack using Queues(用队列实现栈操作)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】代码下载【https://github.com/Wang-Jun-Chao】原题 Implement the following operations of a stack using queues. push(x) – Push element x onto stack. pop() – Removes the element on top of the stack. top() – Get the top element. empty() – Return whether the stack is empty. Notes: You mus...
简要解释: 序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。 序列化是为了解决在对对象流进行读写操作时所引发的问题。 序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implements Serializable只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一...
前言为何要使用Java线程同步?Java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时,将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用,从而保证了该变量的唯一性和准确性。但其并发编程的根本,就是使线程间进行正确的通信。其中两个比较重要的关键点,如下: Java中提供了很多线程同步操作,比如:synchronized关键字、wait/notifyAll、ReentrantLock、Co...
//在第二个函数positionMessage中设置初始位置与终点,新建html文件是,元素ID为message。function addLoadEvent(func) { var oldonload = window.onload; if (typeof window.onload != ‘function‘) { window.onload=func;}else{ window.onload = function(){ oldonload(); func(); } }}function positionMessage() { if (!document.getElementById) {return false;} if (!document.get...
Java自定义实现String转换为int 的简单实现!publicclass StringToInt {publicstaticint stringToInt (String str){char[] num = str.toCharArray();//得到各个字符的charint result = 0;for(int i = 0; i < num.length; i++){if(num[i]>57||num[i]<48){//0~9对应的Ascall码System.out.println("数据格式错误,转换失败!!!");thrownew NumberFormatException();}else{result+=(num[i]-48)*(Math.pow(10, num.length-i-1));}}ret...
// 原型方式的‘继承‘ function Person(name) { //定义一个Person的构造函数 this.name = name; //添加属性 } Person.prototype.showName=function () { //添加方法 return this.name; }; function Worker(name,job) { Person.apply(this,arguments); //属性的‘继承‘ this.job=job; } Worker.prototype=new Person(); //方法的‘继承‘ Worker.prototype.showJob=function () { return this.job; }; var p1=new Person(‘abc‘)...