- 关于重构的自问自答
呆子半醒
作为一个程序员,已记不清第一次听说重构这个概念是什么时候,只记得读下面这本书的时候我还在学习用C语言开发。重构——改善既有代码的设计近几年学习使用Java语言开发,再看时已是这书的译者之一熊节后来单独翻译的一版。作为程序员,无论是C还是Java,无论是在编程演练还是在产品开发中,自以为一直都在践行重构。作为组织的敏捷教练,时常会遇到重构在团队内落地的困难。熊节在知乎上关于重构的回答看了译者的解答,
- Kotlin第九弹:深入理解 Kotlin 泛型
Ken'
Kotlin从入门到精通kotlin开发语言android
Kotlin系列到此结束,大家记得关注我哈,后面会继续出关于Android的系列文章!目录前言1.泛型接口2.泛型类二、泛型字段三、泛型方法四、泛型约束五、泛型中的out与in1.out约束泛型参数的类型上限2.in约束参数的类型下限总结前言Kotlin的泛型与Java一样,都是一种语法糖,即只在源代码中有泛型定义,到了class级别就被擦除了。泛型(Generics)其实就是把类型参数化,真正的
- 一篇文章讲清楚Java中的反射
工业甲酰苯胺
javapython开发语言
介绍每个类都有一个Class对象,包含了与类有关的信息。当编译一个新类时,会产生一个同名的.class文件,该文件内容保存着Class对象。类加载相当于Class对象的加载。类在第一次使用时才动态加载到JVM中,可以使用Class.forName("com.mysql.jdbc.Driver")这种方式来控制类的加载,该方法会返回一个Class对象。反射可以提供运行时的类信息,并且这个类可以在运行
- 干货拿走:深入解析Kotlin 泛型
Android高级技术
Android高级开发android
0.引子Kotlin100%与Java兼容,所以抛开语言表面上面的种种特质之外,背后的语言逻辑或者说“灵魂”与Java总是想通的。本文只涉及KotlinJvm,KotlinJs、KotlinNative的具体实现可能有差异。最近一段时间在网上发了一套Kotlin的入门视频,涵盖了基础语法、面向对象、高阶函数、DSL、协程等比较有特色的知识点,不过有朋友提出了疑问:这门课为什么不专门讲讲泛型、反射和
- My Batis框架初级知识
Faye_xue
web网站笔记mavenmybatisjava数据库mysql
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档目录一、Mybatis概述1、概念2、持久层3、JavaEE三层架构:4、框架二、JDBC缺点编辑1、硬编码2、SQL语句3、操作繁琐三、使用步骤1.创建表2.创建模块,导入坐标在创建好的模块中的pom.xml配置文件中添加依赖的坐标3、添加配置文件1)将logback.xml、mybatis-config.xml配置到项目的reso
- Java设计模式【组合模式】-结构型
lianyinghhh
Javajava设计模式组合模式
1.介绍组合模式(CompositePattern)是一种结构型设计模式,用于将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得客户端可以一致地处理单个对象和对象的组合,客户端无需关心它们是单个对象还是组合对象。组合模式通过递归的方式将对象组合成更复杂的结构,典型应用是树形结构。在组合模式中,通常有三种角色:组件(Component):定义对象的接口,可以组合叶子节点和组合节点。叶子
- SQL慢查询优化方式
echola_mendes
#MySQLmysql数据库
目录一、SQL语句优化1.避免使用SELECT*,而是具体字段2.避免使用%开头的LIKE的查询3.避免使用子查询,使用JOIN4.使用EXISTS代替IN5.使用LIMIT1优化查询6.使用批量插入、优化INSERT操作7.其他方式二、SQL索引优化1.在查询条件或者连接条件的列上建立索引2.遵循最左前缀原则3.避免在索引列上进行计算4.使用覆盖索引5.避免使用更新频繁的列作为索引6.避免过多的
- 力扣刷题122. 买卖股票的最佳时机 II(java)
happytaohaha
题目:给定一个数组,它的第i个元素是一支给定股票第i天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例1:输入:[7,1,5,3,6,4]输出:7解释:在第2天(股票价格=1)的时候买入,在第3天(股票价格=5)的时候卖出,这笔交易所能获得利润=5-1=4。随后,在第4天(股票
- 力扣134-加油站(java题解)
立志成为coding大牛的菜鸟.
leetcodejava算法
题目链接:134.加油站-力扣(LeetCode)前情提要:因为本人最近都来刷贪心类的题目所以该题就默认用贪心方法来做。贪心方法:局部最优推出全局最优。如果一个题你觉得可以用局部最优推出全局最优,并且没有反例来反驳的话就可以用贪心来试试。题目思路:该题入手,你可能知道,当总容量减去总消耗量大于等于0,那么该路程一定是可以环路行驶一周的,但是怎么确认出发的加油站编号呢?我们用贪心的思路来想想。将每个
- 【java中static最全解析】(static概念,内存原理,为什么要使用static修饰符)
立志成为coding大牛的菜鸟.
java学习之路java开发语言
【java中static最全解析】(static概念,内存原理,为什么要使用static修饰符)一、static的概念(什么是static)static表示静态,是Java中的一个修饰符,可以修饰成员方法,成员变量1.1静态变量被static修饰的变量特点:可以被该类所有的对象所共享不属于对象,属于类随着类的加载而加载,优先于对象存在调用方式:类名调用(通常用这个)方法名调用在这里我定义了一个st
- jdk动态代理与cglib动态代理:
爱为斯坦
JAVAjava开发语言动态代理
最近在用java实现redis,在使用动态代理时遇到了一点问题,即使用jdk动态代理(Invocationhandler)时,如果代理对象是一个接口的实现类,那么此时动态代理获取到的method对象是接口中的,而不是实现类的,现象是:我在实现类中对接口方法上新增了注解,但是此刻method反射获取不到注解信息,于是大概整理了一下这两者的区别JDK动态代理:获取的是接口中的方法信息,因此如果注解是在
- linux jmeter 对数据库,jmeter操作数据库,分布式,在Linux上运行
weixin_39820173
linuxjmeter对数据库
jmeter操作数据库:1.在测试计划中导入数据库jar包2.添加链接数据库信息3.mysql:jdc:mysql://192.168.1.116:3307/bugfree?allowMultiQueries=truedriverclass:com.mysql.jdbc.Driverjmeter添加压力机(分布式)1.首先要其他电脑也安装有jmeter,自己的电脑是主机,其他的电脑都是分支2.要和
- java 单利模式
sparkzyq
publicclassSingletion{privatestaticclassInnerSingletion{privatestaticSingletionsingle=newSingletion();}publicstaticSingletiongetInstance(){returnInnerSingletion.single;}}
- 前端数据库——WebSQL和IndexedDB
凡凡的小web
一、WebSQLWebSQL是前端的一个独立模块,是web存储方式的一种,我们调试的时候会经常看到,只是一般很少使用。并且,当前只有谷歌支持,ie和火狐均不支持。image我们对数据库的一般概念是后端才会跟数据库打交道,进行一些业务性的增删改查。而这里的数据库也不同于真正意义上的数据库。废话少说,先出招吧:主要方法:openDatabase:这个方法使用现有的数据库或者新建的数据库创建一个数据库对
- 力扣45-跳跃游戏II (java详细题解)
立志成为coding大牛的菜鸟.
重生之我在lc刷算法leetcodejava算法
题目链接:45.跳跃游戏II-力扣(LeetCode)前情提要:建议大家在做本题前先将力扣55-跳跃游戏先做了,具体题解在这力扣55-跳跃游戏(java详细题解)-CSDN博客。因为本人最近都来刷贪心类的题目所以该题就默认用贪心方法来做。贪心方法:局部最优推出全局最优。如果一个题你觉得可以用局部最优推出全局最优,并且没有反例来反驳的话就可以用贪心来试试。题目思路:本题相对于力扣45要难上不少,因为
- java设计模式(六)代理模式(Proxy Pattern)
FM_南风
java设计模式java设计模式代理模式
1、模式介绍:代理模式(ProxyPattern)是一种结构型设计模式,它允许你在不改变客户端代码的情况下,向某个对象提供一个代理,以控制对该对象的访问。代理对象通常会在实际对象的方法调用前后添加一些附加逻辑,如权限控制、懒加载、日志记录等。代理模式涉及以下几个角色:接口(Subject):定义了代理类和真实类共同的接口。真实类(RealSubject):实现了接口的具体类,它是真正执行操作的对象
- java批量导入和批量删除_Hibernate批处理操作优化 (批量插入、更新与删除)
林落年
java批量导入和批量删除
问题描述我开发的网站加了个新功能:需要在线上处理表数据的批量合并和更新,昨天下午发布上线,执行该功能后,服务器的load突然增高,变化曲线异常,SA教育了我一番,让我尽快处理,将CPU负载降低。工作所需,我经常要写些程序批量处理数据,每次执行几十万数据处理的时候,我机子的CPU都会飙高,而且数据处理速度会越来越慢。比如第一个1W条要5分钟,第二个1W条就要10分钟,要干其他事情的时候机子也卡的不行
- mysql jdbc批量更新_Hibernate+JDBC实现批量插入、更新及删除的方法详解
weixin_39524147
mysqljdbc批量更新
本文实例讲述了HibernateJDBC实现批量插入、更新及删除的方法。分享给大家供大家参考,具体如下:一、批量插入(两种方式)1.通过Hibernate缓存如果这样写代码进行批量插入(初始设想):packagecom.anlw.util;importorg.hibernate.Session;importorg.hibernate.SessionFactory;importorg.hiberna
- Spring
楚楚ccc
Java系列java
1.1工厂设计模式、Spring工厂的底层实现原理EJB实现原理:就是将原来在客户端实现的代码放至服务端,并依靠RMI进行通信RMI实现原理:通过java可序列化机制实现分布式计算补充序列化:就是将java对象转换为字节序列,以便保存到硬盘或进行网络传输。反序列化则是将字节序列转换为java对象。服务器集群:通过RMI通信,连接不同功能模块的服务器,实现完整的功能EJB存在问题:重量级框架,运行环
- Java虚拟机(一):Java内存区域
yeonon
1什么是Java内存区域总所周知,现代计算机中的程序要想得到执行,得先将代码载入内存中,程序在运行时产生的数据也会放置在内存中。为了更好的管理内存中的数据,JVM规范规定了几个运行时数据区域,这些区域都有各自的用途以及创建和销毁时间,有的区域自虚拟机进程启动直到虚拟机进程销毁,有些区域则随着线程的启动而启动,线程的销毁而销毁。在虚拟机的自动内存管理下,Java程序员不需要像C/C++程序员那样为每
- C语言入门基础知识(持续更新中)
社恐小美~
C语言c语言开发语言汇编
1.1什么是C语言1.1.1计算机语言------语言是人与人之间交流媒介计算机语言的发展历程------机器语言->汇编语言->高级语言(1.面向过程:C2.面向对象:C++,JAVA,python,PHP······)1.1.2机器语言机器语言:计算机是一种电子设备,计算机处理的数字信号是0和1去记录相应信息,利用数字语言0和1来表示计算机能够识别的通断和断电两种状态。那么计算机的语言成为机器
- PostgreSQL初始化数据库和用户
亚林瓜子
数据库postgresql
#登录数据库psql-Upostgres#创建数据库postgres=#createdatabase;CREATEDATABASE#撤销掉数据库的public权限postgres=#REVOKEALLPRIVILEGESONDATABASEFROMPUBLIC;#创建用户postgres=#createuserwithencryptedpassword'';CREATEROLE#授权数据库所有权限
- Android 12 WiFi 连接状态轮转
打个工而已
AndroidWifiandroidwifi
WiFi学习资料整理->AndroidWiFi目录WiFi学习资料整理->AndroidWiFi1.WifiClientModeImpl和WPA_Supplicant状态轮转2.广播连接状态前面汇总了WiFi连接的一些调用流程,这里汇总下Wpa_supplicant和Java层状态的轮转流程1.WifiClientModeImpl和WPA_Supplicant状态轮转WifiClientModeI
- 19 使用缓冲区是否一定可以提高复制效率
collman
Java基础null测试dosbyteosobject
小测试使用缓冲流是否一定可以提高复制效率呢,下面能过一个小测试便可知道答案。此小测试的内容是使用代理的知识测出不使用缓冲流与使用缓冲流时复制一个文件所需要的时间。因为涉及到代理,所以这里我用到了3个类与2个接口:importjava.io.*;importjava.lang.reflect.*;//1.MyTest目标类publicclassMyTestimplementsTheImplemete
- 6 字符编码
collman
Java基础androidjava跨平台文档编程平台
----------------------android培训、java培训、期待与您交流!----------------------字符编码l计算机里只有数字,计算机软件里的一切都是用数字来表示的,屏幕上显示的一个个字符也不例外。l字符a对应数字97,字符b对应98等,这种字符与数字对应的编码规则被称为ASCII(美国标准信息交换码)。ASCII的最高bit位为0,也就是说这些数字在0到127
- 单例模式(Singleton Pattern)
collman
单例模式
概念单例模式(SingletonPattern)是Java中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。简单实例SingleObject.javapublicclassSingleObject{
- 简搭(jabdp)-企业敏捷业务低代码开发平台 JNPF3.3 3.4.1旗舰版、企业版
xevalon
低代码java开发语言
简搭jabdp是一款基于引擎模式的web快速开发平台,采用新颖的在线开发部署模式,配置式,低代码,使开发变得更加简单、纯粹,提高了开发的效率。jabdp全名是JAVA敏捷业务开发平台(JavaAgileBusinessDevelopmentPlatform),是一款企业级web快速开发平台,采用新颖的在线开发部署模式,使开发变得更加简单、纯粹,减少web开发中80%的代码量,革命性的提高了开发的效
- 开发API如何选择数据库,看这篇就够了!
流浪的大萝卜
学习分享数据库jsonsql
在开发API时选择合适的数据库需考虑多方面因素:一、数据特性数据关系:若数据间关系复杂,像电商平台API需管理商品、订单、用户等多实体关联,关系型数据库如MySQL、PostgreSQL较合适。例如电商下单时需同时更新多个表数据,它们可借助事务确保数据一致性。代码示例(以MySQL为例):sql--创建用户表CREATETABLEusers(idINTAUTO_INCREMENTPRIMARYKE
- 【Java设计模式】Caching模式:加速数据访问速度
道长不会写代码
java设计模式开发语言
文章目录【Java设计模式】Caching模式:加速数据访问速度一、概述二、Caching设计模式的别名三、Caching设计模式的意图四、Caching模式的详细解释及实际示例五、Java中Caching模式的编程示例六、何时在Java中使用Caching模式七、Caching模式在Java中的实际应用八、Caching模式的优点和权衡九、源码下载【Java设计模式】Caching模式:加速数据
- JAVA Web学习(20)___第14章Struts2基础
岁月静好浅笑安然
第14章Struts2基础14.1Struts2概述14.1.1理解MVC原理14.1.2Struts2框架的产生14.1.3Struts2的结构体系14.2Struts2入门14.2.1Struts2的获取与放置开发struts项目必须添加的类库文件名称说明struts2-core-2.5.20.jarStruts2的核心类库xwork-core-2.1.6.jarXworkd的核心类库ognl
- html
周华华
html
js
1,数组的排列
var arr=[1,4,234,43,52,];
for(var x=0;x<arr.length;x++){
for(var y=x-1;y<arr.length;y++){
if(arr[x]<arr[y]){
&
- 【Struts2 四】Struts2拦截器
bit1129
struts2拦截器
Struts2框架是基于拦截器实现的,可以对某个Action进行拦截,然后某些逻辑处理,拦截器相当于AOP里面的环绕通知,即在Action方法的执行之前和之后根据需要添加相应的逻辑。事实上,即使struts.xml没有任何关于拦截器的配置,Struts2也会为我们添加一组默认的拦截器,最常见的是,请求参数自动绑定到Action对应的字段上。
Struts2中自定义拦截器的步骤是:
- make:cc 命令未找到解决方法
daizj
linux命令未知make cc
安装rz sz程序时,报下面错误:
[root@slave2 src]# make posix
cc -O -DPOSIX -DMD=2 rz.c -o rz
make: cc:命令未找到
make: *** [posix] 错误 127
系统:centos 6.6
环境:虚拟机
错误原因:系统未安装gcc,这个是由于在安
- Oracle之Job应用
周凡杨
oracle job
最近写服务,服务上线后,需要写一个定时执行的SQL脚本,清理并更新数据库表里的数据,应用到了Oracle 的 Job的相关知识。在此总结一下。
一:查看相关job信息
1、相关视图
dba_jobs
all_jobs
user_jobs
dba_jobs_running 包含正在运行
- 多线程机制
朱辉辉33
多线程
转至http://blog.csdn.net/lj70024/archive/2010/04/06/5455790.aspx
程序、进程和线程:
程序是一段静态的代码,它是应用程序执行的蓝本。进程是程序的一次动态执行过程,它对应了从代码加载、执行至执行完毕的一个完整过程,这个过程也是进程本身从产生、发展至消亡的过程。线程是比进程更小的单位,一个进程执行过程中可以产生多个线程,每个线程有自身的
- web报表工具FineReport使用中遇到的常见报错及解决办法(一)
老A不折腾
web报表finereportjava报表报表工具
FineReport使用中遇到的常见报错及解决办法(一)
这里写点抛砖引玉,希望大家能把自己整理的问题及解决方法晾出来,Mark一下,利人利己。
出现问题先搜一下文档上有没有,再看看度娘有没有,再看看论坛有没有。有报错要看日志。下面简单罗列下常见的问题,大多文档上都有提到的。
1、address pool is full:
含义:地址池满,连接数超过并发数上
- mysql rpm安装后没有my.cnf
林鹤霄
没有my.cnf
Linux下用rpm包安装的MySQL是不会安装/etc/my.cnf文件的,
至于为什么没有这个文件而MySQL却也能正常启动和作用,在这儿有两个说法,
第一种说法,my.cnf只是MySQL启动时的一个参数文件,可以没有它,这时MySQL会用内置的默认参数启动,
第二种说法,MySQL在启动时自动使用/usr/share/mysql目录下的my-medium.cnf文件,这种说法仅限于r
- Kindle Fire HDX root并安装谷歌服务框架之后仍无法登陆谷歌账号的问题
aigo
root
原文:http://kindlefireforkid.com/how-to-setup-a-google-account-on-amazon-fire-tablet/
Step 4: Run ADB command from your PC
On the PC, you need install Amazon Fire ADB driver and instal
- javascript 中var提升的典型实例
alxw4616
JavaScript
// 刚刚在书上看到的一个小问题,很有意思.大家一起思考下吧
myname = 'global';
var fn = function () {
console.log(myname); // undefined
var myname = 'local';
console.log(myname); // local
};
fn()
// 上述代码实际上等同于以下代码
m
- 定时器和获取时间的使用
百合不是茶
时间的转换定时器
定时器:定时创建任务在游戏设计的时候用的比较多
Timer();定时器
TImerTask();Timer的子类 由 Timer 安排为一次执行或重复执行的任务。
定时器类Timer在java.util包中。使用时,先实例化,然后使用实例的schedule(TimerTask task, long delay)方法,设定
- JDK1.5 Queue
bijian1013
javathreadjava多线程Queue
JDK1.5 Queue
LinkedList:
LinkedList不是同步的。如果多个线程同时访问列表,而其中至少一个线程从结构上修改了该列表,则它必须 保持外部同步。(结构修改指添加或删除一个或多个元素的任何操作;仅设置元素的值不是结构修改。)这一般通过对自然封装该列表的对象进行同步操作来完成。如果不存在这样的对象,则应该使用 Collections.synchronizedList 方
- http认证原理和https
bijian1013
httphttps
一.基础介绍
在URL前加https://前缀表明是用SSL加密的。 你的电脑与服务器之间收发的信息传输将更加安全。
Web服务器启用SSL需要获得一个服务器证书并将该证书与要使用SSL的服务器绑定。
http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后
- 【Java范型五】范型继承
bit1129
java
定义如下一个抽象的范型类,其中定义了两个范型参数,T1,T2
package com.tom.lang.generics;
public abstract class SuperGenerics<T1, T2> {
private T1 t1;
private T2 t2;
public abstract void doIt(T
- 【Nginx六】nginx.conf常用指令(Directive)
bit1129
Directive
1. worker_processes 8;
表示Nginx将启动8个工作者进程,通过ps -ef|grep nginx,会发现有8个Nginx Worker Process在运行
nobody 53879 118449 0 Apr22 ? 00:26:15 nginx: worker process
- lua 遍历Header头部
ronin47
lua header 遍历
local headers = ngx.req.get_headers()
ngx.say("headers begin", "<br/>")
ngx.say("Host : ", he
- java-32.通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小(两数组的差最小)。
bylijinnan
java
import java.util.Arrays;
public class MinSumASumB {
/**
* Q32.有两个序列a,b,大小都为n,序列元素的值任意整数,无序.
*
* 要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小。
* 例如:
* int[] a = {100,99,98,1,2,3
- redis
开窍的石头
redis
在redis的redis.conf配置文件中找到# requirepass foobared
把它替换成requirepass 12356789 后边的12356789就是你的密码
打开redis客户端输入config get requirepass
返回
redis 127.0.0.1:6379> config get requirepass
1) "require
- [JAVA图像与图形]现有的GPU架构支持JAVA语言吗?
comsci
java语言
无论是opengl还是cuda,都是建立在C语言体系架构基础上的,在未来,图像图形处理业务快速发展,相关领域市场不断扩大的情况下,我们JAVA语言系统怎么从这么庞大,且还在不断扩大的市场上分到一块蛋糕,是值得每个JAVAER认真思考和行动的事情
- 安装ubuntu14.04登录后花屏了怎么办
cuiyadll
ubuntu
这个情况,一般属于显卡驱动问题。
可以先尝试安装显卡的官方闭源驱动。
按键盘三个键:CTRL + ALT + F1
进入终端,输入用户名和密码登录终端:
安装amd的显卡驱动
sudo
apt-get
install
fglrx
安装nvidia显卡驱动
sudo
ap
- SSL 与 数字证书 的基本概念和工作原理
darrenzhu
加密ssl证书密钥签名
SSL 与 数字证书 的基本概念和工作原理
http://www.linuxde.net/2012/03/8301.html
SSL握手协议的目的是或最终结果是让客户端和服务器拥有一个共同的密钥,握手协议本身是基于非对称加密机制的,之后就使用共同的密钥基于对称加密机制进行信息交换。
http://www.ibm.com/developerworks/cn/webspher
- Ubuntu设置ip的步骤
dcj3sjt126com
ubuntu
在单位的一台机器完全装了Ubuntu Server,但回家只能在XP上VM一个,装的时候网卡是DHCP的,用ifconfig查了一下ip是192.168.92.128,可以ping通。
转载不是错:
Ubuntu命令行修改网络配置方法
/etc/network/interfaces打开后里面可设置DHCP或手动设置静态ip。前面auto eth0,让网卡开机自动挂载.
1. 以D
- php包管理工具推荐
dcj3sjt126com
PHPComposer
http://www.phpcomposer.com/
Composer是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。
中文文档
入门指南
下载
安装包列表
Composer 中国镜像
- Gson使用四(TypeAdapter)
eksliang
jsongsonGson自定义转换器gsonTypeAdapter
转载请出自出处:http://eksliang.iteye.com/blog/2175595 一.概述
Gson的TypeAapter可以理解成自定义序列化和返序列化 二、应用场景举例
例如我们通常去注册时(那些外国网站),会让我们输入firstName,lastName,但是转到我们都
- JQM控件之Navbar和Tabs
gundumw100
htmlxmlcss
在JQM中使用导航栏Navbar是简单的。
只需要将data-role="navbar"赋给div即可:
<div data-role="navbar">
<ul>
<li><a href="#" class="ui-btn-active&qu
- 利用归并排序算法对大文件进行排序
iwindyforest
java归并排序大文件分治法Merge sort
归并排序算法介绍,请参照Wikipeida
zh.wikipedia.org/wiki/%E5%BD%92%E5%B9%B6%E6%8E%92%E5%BA%8F
基本思想:
大文件分割成行数相等的两个子文件,递归(归并排序)两个子文件,直到递归到分割成的子文件低于限制行数
低于限制行数的子文件直接排序
两个排序好的子文件归并到父文件
直到最后所有排序好的父文件归并到输入
- iOS UIWebView URL拦截
啸笑天
UIWebView
本文译者:candeladiao,原文:URL filtering for UIWebView on the iPhone说明:译者在做app开发时,因为页面的javascript文件比较大导致加载速度很慢,所以想把javascript文件打包在app里,当UIWebView需要加载该脚本时就从app本地读取,但UIWebView并不支持加载本地资源。最后从下文中找到了解决方法,第一次翻译,难免有
- 索引的碎片整理SQL语句
macroli
sql
SET NOCOUNT ON
DECLARE @tablename VARCHAR (128)
DECLARE @execstr VARCHAR (255)
DECLARE @objectid INT
DECLARE @indexid INT
DECLARE @frag DECIMAL
DECLARE @maxfrag DECIMAL
--设置最大允许的碎片数量,超过则对索引进行碎片
- Angularjs同步操作http请求with $promise
qiaolevip
每天进步一点点学习永无止境AngularJS纵观千象
// Define a factory
app.factory('profilePromise', ['$q', 'AccountService', function($q, AccountService) {
var deferred = $q.defer();
AccountService.getProfile().then(function(res) {
- hibernate联合查询问题
sxj19881213
sqlHibernateHQL联合查询
最近在用hibernate做项目,遇到了联合查询的问题,以及联合查询中的N+1问题。
针对无外键关联的联合查询,我做了HQL和SQL的实验,希望能帮助到大家。(我使用的版本是hibernate3.3.2)
1 几个常识:
(1)hql中的几种join查询,只有在外键关联、并且作了相应配置时才能使用。
(2)hql的默认查询策略,在进行联合查询时,会产
- struts2.xml
wuai
struts
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache