- 博客(50)
- 资源 (23)
- 收藏
- 关注
原创 SQL 基础语法整理
update select 之后的数据update B set B_account = b.s_amountfrom B a,( select sum(amount) as s_amount,pay_id from A group by pay_id) bwhere a.pay_id = b.pay_idselect name from (select name,avg(score
2016-03-31 09:52:07 763
原创 Java bio nio aio
在弄清楚上面的几个问题之前,我们首先得明白什么是同步,异步,阻塞,非阻塞,只有这几个单个概念理解清楚了,然后在组合理解起来,就相对比较容易了。 同步和异步是针对应用程序和内核的交互而言的。 阻塞和非阻塞是针对于进程在访问数据的时候,根据IO操作的就绪状态来采取的不同方式,说白了是一种读取或者写入操作函数的实现方式,阻塞方式下读取或者写入函数将一直等待,而非阻塞方式下,读取或者写
2016-03-30 20:04:12 453
原创 Java 判断是否合法ip
private boolean checkIP(String str) { Pattern pattern = Pattern .compile("^((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]" + "|[*])\\.){3}(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25
2016-03-30 17:59:09 3757 1
原创 Java System
System.outSystem.out的类型为PrintStream; System.out.println(‘a’); 实际上调用是PrintStream的println(char c)方法; 而println(char c)方法的源代码为:public void println(String x) { synchronized (this) { print(x)
2016-03-30 17:08:34 352
原创 Java 集合类整理
Array和ArrayList区别精辟阐述 可以将 ArrayList想象成一种“会自动扩增容量的Array”。Array([]):最高效;但是其容量固定且无法动态改变; ArrayList: 容量可动态增长;但牺牲效率;建议 基于效率和类型检验,应尽可能使用Array,无法确定数组大小时才使用ArrayList! 不过当你试着解决更一般化的问题时,Array的功能就可能过于受限。
2016-03-30 16:49:52 818
原创 MAVEN项目标准目录结构
1.标准目录结构:src -main –bin 脚本库 –java java源代码文件 –resources 资源库,会自动复制到classes目录里 –filters 资源过滤文件 –assembly 组件的描述配置(如何打包) –config 配置文件 –webapp web应用的目录。WEB
2016-03-30 16:35:42 1938
原创 web.xml中classpath和classpath*的区别
classpath:只会到你指定的class路径中查找找文件; classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找.classpath*:META-INF/spring/application-context.xml那么在META-INF/spring这个文件夹底下的所有application-context.xml都会被加载到上下文中。 包括META-I
2016-03-30 16:17:24 981
原创 Linux和windows、Mac回车换行区别
回车符号和换行符号产生背景 关于“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别。 在计算机还没有出现之前,有一种叫做电传打字机的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。 于是,研制人员想了个办法解决
2016-03-30 16:11:26 1034
原创 LeetCode 321. Create Maximum Number
思路对i做循环第一个数组中取出i个,第二个数组中取出k-i个把i个和k-i个分别存储在两个栈中对两个栈做归并循环k-1次。入栈的顺序: 首先检查当前数组元素和栈顶元素相对大小: 1、大于栈顶元素,把栈顶元素弹出 2、小于等于栈顶元素,直接入栈 3、如果栈length+数组剩余length==需要入栈的总数量,则全部入栈 比如9,1,9,8,3,2,需要入4个 9 1,9 9,
2016-03-30 15:14:07 3002
原创 LeetCode 324. Wiggle Sort II
思路首先仿照快速排序找出数组的中位数mid,这里平均复杂度O(n),最坏复杂度O(n^2)。 对数组下标作映射(假设数组长度为6):0 => 11 => 32 => 53 => 04 => 25 => 4则把大于mid的数分配给1,3,5,小于mid的数分给0,2,4,完成 注意: 为了防止有相邻两个数都等于中位数的问题,这里有一个分配的技巧: 1、对于0,2,4,将数组元素小于m
2016-03-30 12:30:18 1072
原创 LeetCode 313. Super Ugly Number
思路利用ugly,pointer,prime三个数组存储当前找到的所有ugly,同时存储下次可能是最小的数: 算法实现public int nthSuperUglyNumber(int n, int[] primes) { int[] pointer = new int[primes.length]; Arrays.fill(pointer, 0); int
2016-03-29 23:24:34 2702 1
转载 SQL优化
问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。系统优化中一个很重要的方面就是SQL语句的优化。对于海量数据,劣质SQL语句和优质SQL语句之间的速度差别可以达到上百倍,可见对于一个系统不是简单地能实现
2016-03-29 17:15:41 11985 4
原创 Java 向上和向下转型
转型是基于继承的。向上转型把子类转换成父类,不需要强制转换,则转型后不能访问子类特有的属性和方法,如果子类方法被重写,则根据动态绑定,父类调用子类同名方法时,重写生效,这里可以体现出多态。向下转型父类转换成子类,需要强制转换。 如果父类指向的就是子类,则转型安全;如果不是,会在运行时报错,java.lang.ClassCastException错误。可以使用instanceof来避免出错此类错误
2016-03-29 13:39:59 1002
原创 Java Equals
Integer i = 42;Long l = 42l;Double d = 42.0;下面为true的是:(i == l)(i == d)(l == d)i.equals(d)d.equals(l)i.equals(l)l.equals(42L)正确答案: 只有l.equals(42L)解析: ABC3 个选项很明显,不同类型引用的 == 比较,会出现编译错误,不能比较。
2016-03-29 11:56:25 397
原创 Java 数组整理
二维数据int [][] at = new int [10][10];//第二维数组定长int [][] bt = new int [10][];//第二维数组变长for (int i = 0; i < bt.length; i++) { bt[i] = new int [i + 1];}
2016-03-28 17:21:51 389
原创 二叉树非递归实现先序,中序,后序,按层遍历
思路需要空间换取非递归,利用栈缓存记录。 Java实现数据结构二叉树如下:public class BiTree { private BiTree left = null; private BiTree right = null; private int value; public BiTree (int value) { this.value = v
2016-03-28 16:03:45 595
原创 Java 实现单例
懒汉(线程不安全)public class Singleton { private static Singleton instance = null; private Singleton () { } public Singleton getInstance () { if (instance == null) { instanc
2016-03-27 10:42:49 420
原创 HTTPS握手过程
HTTPS本身并非协议,而是标准的HTTP协议架在SSL/TLS协议之上的一种结构。(一种不太合适的说法可以认为是两种协议的叠加)。HTTP是工作在OSI7层模型的最上层,就是第7层:Application Layer。而SSL/TLS是工作在第4层:Transport Layer。两层之间还是隔了Presentation Layer(6层)和Session Layer(5层)两层的。 从上面的这
2016-03-26 20:55:48 6832 1
原创 Java volatile
Java多线程工作内存对于Java多线程程序,每个线程有自己的线程工作内存和主内存。其中有一个内存区域是jvm虚拟机栈,每一个线程运行时都有一个线程栈,线程栈保存了线程运行时候变量值信息。当线程访问某一个对象时候值的时候,首先通过对象的引用找到对应在堆内存的变量的值,然后把堆内存变量的具体值load到线程本地内存中,建立一个变量副本,之后线程就不再和对象在堆内存变量值有任何关系,而是直接修改副本变量
2016-03-26 14:59:54 406
原创 Java 线程池
何时需要线程池创建和销毁线程的时间很长线程池一般在程序执行开始和结束阶段负责线程初始化和销毁,节约时间请求数目非常多如每个请求都需要一个线程 线程池统一缓冲,不至于并发太多ThreadPoolExecutor构造函数参数构造器中各个参数含义:corePoolSize核心池的大小。 默认情况下,在创建了线程池后,线程池中的线程数为0,当有任务来之后,就会创建一个线程去执行任务,当线程池中的线程数目
2016-03-25 16:10:07 374
原创 Spring AOP原理
AOP原理 ——动态代理在运行时,获取类信息,包装成动态代理类。 执行动态代理类的代理方法,在代理方法内部会执行切面方法,也执行被代理类方法。package aoptest;/** * Created by zly on 2016/3/25. */public interface Dog { public void run(); public void bark();}p
2016-03-25 15:21:14 473
原创 算法面试List
数组中最小差绝对值思路快排+遍历划分数组已知int A,数组Array,长度N,寻找k,要求: 1、Array[0-k-1]中包含等于A的元素数目x 2、Array[k-N-1]中包含不等于A的元素数目y 3、x = y 4、全部=A,输出0,全部!=A,输出N思路left=0,left->… right=N-1,…<-right 寻找Array[left] = Array[righ
2016-03-25 12:14:32 318
原创 Dijkstra找最短路径
问题描述节点0-N,求0到N的最短路径算法package com.java;import java.util.ArrayList;import java.util.HashMap;import java.util.HashSet;import java.util.List;import java.util.Map;import java.util.Map.Entry;public clas
2016-03-24 23:28:37 478
原创 LeetCode 331. Verify Preorder Serialization of a Binary Tree
原题Leetcode 331. Verify Preorder Serialization of a Binary Tree思路每当遇到X##这种类型的,就替换成#,直到没有X##。X表示数字Java实现 public boolean isValidSerialization(String preorder) { Pattern p = Pattern.compile("[0-
2016-03-23 15:55:55 1060
原创 Java 输入 类似c的scanf
从控制台接收一个字符,然后将其打印出来char ch = (char)System.in.read();这种情况只能获取char类型从控制台读取一行字符串BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));String str = bf.readLine();这样我们就能获取我们输入的字符串。最简单方法,
2016-03-23 09:48:35 14428
原创 Java Object类方法
clone();equals();finalize();getClass();[align=left][/align]notify(),notifyAll();hashCode();toString();wait();
2016-03-21 16:24:25 307
原创 Java String理解
对于String str1 = "hello";String str2 = "hello";“hello”存储于常量区(JVM的方法区) str1和str2分别指向常量区”hello”的地址,所以str1 == str2是true 如果是str3 = new String(“hello”);则会分配在堆区。 str1 == str3 是false深入理解Java:String
2016-03-20 16:23:17 421
转载 Mysql索引原理
索引的本质索引(Index)是帮助MySQL高效获取数据的数据结构 最基本的查询算法是顺序查找(linear search),这种复杂度为O(n)的算法在数据量很大时显然是糟糕的,好在计算机科学的发展提供了很多更优秀的查找算法例如二分查找(binary search)、二叉树查找(binary tree search)等。稍微分析一下会发现,每种查找算法都只能应用于特定的数据结构之上,例如二分查找
2016-03-18 19:33:31 419
原创 Java synchronized
Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。 当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。 然而,当一个线程访问object的一个synchronized(thi
2016-03-18 17:28:46 445
转载 几种编码之间的关系
很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为”字节“。再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多状态,状态开始变来变去。他们看到这样是好的,于是它们就这机器称为”计算机“。开始计算机只在美国用。八位的字节一共可以组合出256(2的8次方)种不同的状态。 他们把其中的编号
2016-03-16 16:15:05 2417 1
原创 Java流、IO概览
流是什么流是个抽象的概念,是对输入输出设备的抽象,Java程序中,对于数据的输入/输出操作都是以“流”的方式进行。设备可以是文件,网络,内存等。流具有方向性,至于是输入流还是输出流则是一个相对的概念,一般以程序为参考,如果数据的流向是程序至设备,我们成为输出流,反之我们称为输入流。可以将流想象成一个“水流管道”,水流就在这管道中形成了,自然就出现了方向的概念。当程序需要从某个数据源读入数据的时候,就
2016-03-16 14:05:20 430
原创 分布式web架构演进
分布式Web服务器架构最开始,由于某些想法,于是在互联网上搭建了一个网站,这个时候甚至有可能主机都是租借的,但由于这篇文章我们只关注架构的演变历程,因此就假设这个时候已经是托管了一台主机,并且有一定的带宽了,这个时候由于网站具备了一定的特色,吸引了部分人访问,逐渐你发现系统的压力越来越高,响应速度越来越慢,而这个时候比较明显的是数据库和应用互相影响,应用出问题了,数据库也很容易出现问题,而数据库出问
2016-03-15 22:24:24 1294
原创 高并发Web
分布式zookeeper和dubbo实现 zookeeper工作原理概述高并发秒杀 构建高并发高可用的电商平台架构实践 大型高并发高负载web应用系统架构-数据库架构策略
2016-03-15 22:08:16 610
原创 web乱码解决
修改数据库字符集确定数据库的字符集,在MySQL安装的时候,可以配置MySQL的字符集,如果最好是选择UTF-8存储 或者直接修改MySQL配置文件my.页面字符集如果数据库字符集没有乱码问题,则检查我们写的JSP页面,是否加入了pageEncoding=”UTF-8”, 以及在head标签里面,metadata里面配置属性contentType=text/html;charset=UTF-8字
2016-03-15 18:13:40 282
原创 Java数据类型字节数
boolen,8位1个字节 int,32位,4个字节 float,32位 4个字节 double,64位8个字节 char 16位,2个字节 byte 8位1个字节 short 16位 2个字节 long 64位 8个字节注意:java中string默认编码是unicode,所以char占两个字节
2016-03-15 17:16:58 449
原创 SSH 整理
StrutsStruts2和servlet关系 struts 2 filter顺序 web.xml加载顺序 servlet加载顺序struts 2 filter在web.xml中配置的filter是有顺序的!!filter图:StrutsPrepareAndExecuteFilter是struts2 后期的,FilterDispatcher是struts2早期的自定义过滤器与拦截器实现
2016-03-14 23:52:12 345
原创 Web和Webservice
web程序客户端是用浏览器进行请求,发送http协议请求,相对webservice更轻量级。而一般的web项目,或者讲网站,主要是以网页的形式,直接呈现给客户。web 采用 REST 架构,相对于 webservice 来说,极大的减轻开发人员的负担 web service可以提供wsdl地址给其他人调用,并且可以实现服务共享,对分布式部署很有用,而一般的web项目只是针对项目内部,对外部的支持不是
2016-03-11 15:27:19 666
原创 Java序列化与反序列化
方法仅Serializable接口ObjectOutputStream采用默认的序列化方式,对Student对象的非transient的实例变量进行序列化。ObjcetInputStream采用默认的反序列化方式,对对Student对象的非transient的实例变量进行反序列化。仅实现了Serializable接口,并且还定义了readObject(ObjectInputStream in)
2016-03-09 17:27:15 531
足球俱乐部管理程序企业版
2021-12-18
北邮_大三下_数据库实验三_Sybase版本
2021-12-18
北邮_大三下_现代交换原理_实验一_时间表调度实验报告
2021-12-18
分布式温控系统,北邮软件工程作业,主控机,有运行效果
2021-12-18
北邮大三下数据库实验二实验报告sybase版本
2013-04-23
北邮计算机网络数据链路层实验滑动窗口协议的设计与实现——选择重传协议
2012-11-29
VHDL交通灯文档
2012-11-25
VHDL交通灯
2012-11-25
哈夫曼编码-文件压缩
2012-11-25
java web 整合开发 刘斌 程序书源代码
2012-11-25
java web 整合开发程序书源代码
2012-11-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人