- 浏览: 60870 次
- 性别:
- 来自: 上海
最新评论
文章列表
对于冒泡排序,大家肯定都熟知,每一轮的冒泡都将最大的数排到最前面,每一轮的时间复杂度是O(n),如果要排序的数组大小为n,要经过n轮才能将数组中所有元素排序,所以总共的时间复杂度为O(n2)。
迭代型冒泡排序
void BubbleSort(int *a, int len) //待排数组a以及它的长度len
{
int ordered = false;
int temp, i;
while(len && !ordered)
{
ordered = true; //也许一趟排序过程中没有发生交换,说明数组 ...
时间复杂度
同一问题可用不同算法解决,算法的质量优劣将影响到算法程序的效率。算法分析的目的在于选择合适算法和改进算法。
算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。这是一个关于代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。使用这种方式时,时间复杂度可被称为是渐近的,它考察当输入值大小趋近无穷时的情况。
算法复杂度分为时间复杂度和空间复杂度。
查找死锁sql:
select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id;
查找SID和SERIAL#
select * from v$session t1, v$locked_object t2 where t1.sid = t2.SESSION_ID;
kill掉死锁
alter system kill session 'SID, SERIAL#'
alter system ...
1.什么是sprint boot
由Pivotal团队提供的全新框架,设计目的是用来简化新Spring应用的初始搭建和开发过程。该框架使用了特定的方式配置,从而使开发人员不再需要定义样板化的配置。(sprint boot其实不是什么新框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,springboot整合了所有的框架。)
spring由于复杂配置,各种xml,annotation注解等,繁杂出错也很难定位,sprintboot就是为了解决繁杂和最大化事先convention over configuraion(约定大于配置)
特性:
1.chaungj ...
git pull origin develop
将冲突的文件拉取
创建分支
git branch
没有参数,显示本地版本库中所有的本地分支名称。
当前检出分支的前面会有星号。
git branch newname
在当前检出分支上新建分支,名叫newname。
git checkout newname
检出分支,即切换到名叫newname的分支。
git checkout –b newname master
这个命令将上面两个命令合并:在master分支上创建分支newname分支并检出到该分支。
合并分支间的修改 Me ...
RestTemplate restTemplate = new RestTemplate();
ObjectMapper jsonToObjectMapper = new ObjectMapper();
//json attributes which cannot be recognized is ignored, ingore unused attribute in json
jsonToObjectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
String result = ...
RestTemplate restTemplate = new RestTemplate();
ObjectMapper jsonToObjectMapper = new ObjectMapper();
ReceiveTO TOs = null;
String result = restTemplate.getForObject(URL, String.class);
String jsonString = result.replaceFirst("data", "{\"TOs \": [");
jsonString = ...
1.时间格式化:
now=`date +%m_%d_%y___%H_%M_%S` //等号两边不能有空格
2.定义的shell变量全局生效 export
export PATH=$PATH:/usr/bin
export ORACLE_URL="(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = host) (PORT = port)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = server)))";
3.读写权限
chmod -R 7 ...
一、Linux下常用工具:
1.shell: bash/ksh
2.awk:(nawl/gawk):文本、数据处理语言(处理log数据)
数据可以来自文本文件,标准输入,其他命令的输出结果。awk处理文本和数据的方式:逐行读取文件,从第一行到最后一行,寻找匹配的特定模式的行,并在这些行上进行你想要的操作。
如果没有执行处理动作,匹配的行print输出。没有指定模式,所有被操作的所指定的行都被处理,默认模式全部。awk分别是三个作者姓名Alfred Aho, Brian Kernighan, Peter Weinberger。
Nawk: new awk.更新替换版本。
gawk: ...
使用shell脚本执行sql语句:
sqlplus classpath系统环境变量预配置、Oracle tnsnames.ora配置
1、配置sql服务器环境:tnsnames.ora: (../product/version/Client/network/admin)
在tnsname.ora文件中,配置服务器映射:
ENV_DESTINATION =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = port))
)
...
linux下使用uuencode工具+mail发送附件技术:
uuencode ${DDLLOGFILE} ${DDLLOGFILE} |/bin/mail -s "Client Portal DDL Deployment Log on ${HOSTNAME}_${now}" $MAIL_GROUP
31. 反射的作用与原理。
java反射是java被视为动态语言的一个关键性质,它允许程序在运行时候通过Reflection APIs取得任何一个自身class的内部信息,包括modifiers(public static private..)。superclass(Object),实现值interfaces(Cloneable),也包括了fields和methods的所有信息,并可运行时改变fields内容或唤起methods。
Reflection enables java code to discover information about the fields, metho ...
java从堆分配空间的速度,可以喝其他语言从堆栈上分配空间的速度相比。
C++语言的堆看做一个院子,每个对象都有自己的一块地盘。一段时间后,对象可以被销毁,但是地盘当然需要重用。JVM中不同:它更像一个传送带, ...
30. Java IO与NIO。
IO:面向流、阻塞IO
NIO:面向缓冲、非阻塞IO,选择器配置多通道
面向流与面向缓冲:是javaNIO和IO最大的区别
Java IO是面向流的,NIO是面向缓冲的。IO面向流意味着每次从流中读取一个或者多个字节甚至所有都 ...
26. ThreadPool用法与优势。
ThreadPool是java.util.concurrent包下,提供一系列与线程相关的类。
1.降低资源消耗:通过重复利用已经创建的线程就爱你各地线程创建和销毁造成的消耗
2.提高响应速度:当任务到达时,任务可以不需要等到线程创建就能立即执行
3.提高线程的可管理性:线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配、调优和监控
线程池可以应对突然大并发访问量,通过有限个固定线程为大量的操作提供服务,减少创建和销毁线程所消耗的系统资源。
27. Concurrent包里的其他 ...