工作之余,用java写了一个导出数据库结构的小工具,附上核心代码
Table.java
package org.dev.livvy.db;
import java.util.List;
public class Table {
private String name;
private String space;
List columns;
public String getName() {
return name;
}
public void setName(String name) {
this .name = name;
}
public String getSpace() {
return space;
}
public void setSpace(String space) {
this .space = space;
}
public List getColumns() {
return columns;
}
public void setColumns(List columns) {
this .columns = columns;
}
@Override
public String toString() {
return "Table{" +
"name='" + name + '\ '' +
", space='" + space + '\ '' +
", columns=" + columns +
'}' ;
}
}
Column.java
package org.dev.livvy.db;
public class Column {
private String tableName;
private String name;
private int isPk;
private String value;
private int isNotNull;
private String type;
private int length;
private int codeType;
public String getTableName() {
return tableName;
}
public void setTableName(String tableName) {
this .tableName = tableName;
}
public String getName() {
return name;
}
public void setName(String name) {
this .name = name;
}
public int getPk() {
return isPk;
}
public void setPk( int pk) {
isPk = pk;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this .value = value;
}
public int getNotNull() {
return isNotNull;
}
public void setNotNull( int notNull) {
isNotNull = notNull;
}
public String getType() {
return type;
}
public void setType(String type) {
this .type = type;
}
public int getLength() {
return length;
}
public void setLength( int length) {
this .length = length;
}
public int getCodeType() {
return codeType;
}
public void setCodeType( int codeType) {
this .codeType = codeType;
}
@Override
public String toString() {
return "Column{" +
"tableName='" + tableName + '\ '' +
", name='" + name + '\ '' +
", isPk=" + isPk +
", value='" + value + '\ '' +
", isNotNull=" + isNotNull +
", type='" + type + '\ '' +
", length=" + length +
", codeType=" + codeType +
'}' ;
}
}
DBAnalysis.java数据库分析类
package org.dev.livvy.db;
import java.sql.*;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class DBAnalysis {
private Connection connection;
private DBAnalysis(String connStr, String db, String username, String password) throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.jdbc.Driver" );
connection = DriverManager.getConnection(connStr + db, username, password);
}
private static DBAnalysis instance = null ;
private static DBAnalysis getInstance(String connStr, String db, String username, String password) throws SQLException, ClassNotFoundException {
if (instance == null ) {
instance = new DBAnalysis(connStr, db, username, password);
}
return instance;
}
private static Connection getConnection(String connStr, String db, String username, String password) throws SQLException, ClassNotFoundException {
return getInstance(connStr, db, username, password).connection;
}
private static List getPks(Connection conn, String tableName) throws SQLException {
List pks = new ArrayList();
ResultSet rsPks = conn.getMetaData().getPrimaryKeys(null , null , tableName);
while (rsPks.next()) {
pks.add(rsPks.getString("COLUMN_NAME" ));
}
rsPks.close();
return pks;
}
private static List getColumns(Connection conn,String tableName) throws SQLException {
List cols = new ArrayList();
List pks = getPks(conn,tableName);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from " + tableName);
ResultSetMetaData rsCols = rs.getMetaData();
int columnCount = rsCols.getColumnCount();
for ( int i = 1 ; i <= columnCount; i++) {
Column col = new Column();
col.setTableName(rsCols.getTableName(i));
col.setName(rsCols.getColumnName(i));
col.setType(rsCols.getColumnTypeName(i));
col.setPk(pks.contains(rsCols.getColumnName(i)) ? 1 : 0 );
col.setLength(rsCols.getColumnDisplaySize(i));
col.setNotNull(rsCols.isNullable(i) == 0 ? 1 : 0 );
cols.add(col);
}
rs.close();
stmt.close();
return cols;
}
public static List collectAllTables(String connStr, String db, String username, String password) throws SQLException, ClassNotFoundException {
Connection conn = getConnection(connStr, db, username, password);
return collectAllTables(conn,db);
}
public static List collectAllTables(Connection conn,String db) throws SQLException {
DatabaseMetaData dmd = conn.getMetaData();
ResultSet rsTables = dmd.getTables(null , null , null , new String[]{ "TABLE" });
List tables = new ArrayList();
while (rsTables.next()) {
Table tb = new Table();
tb.setSpace(db);
String tbName = rsTables.getString("TABLE_NAME" );
tb.setName(tbName);
List cols = getColumns(conn,tbName);
tb.setColumns(cols);
tables.add(tb);
}
rsTables.close();
return tables;
}
}
你可能感兴趣的:(java)
Java创建型模式(一)——单例设计模式(饿汉式、懒汉式、枚举式,以及序列化反序列化破环单例模式和反射破环单例模式及破环单例模式的解决办法 | 完成详解,附有代码+案例)
蔚一
Java知识 java 设计模式 开发语言 intellij-idea 单例模式
文章目录单例设计模式4.1.1单例模式的结构4.1.2单例模式的实现4.1.2.1饿汉式-静态变量方式4.1.2.2饿汉式-静态代码块方式4.1.2.3懒汉式-线程不安全4.1.2.4懒汉式-线程安全4.1.2.5懒汉式-双重检查锁4.1.2.6饿汉式—枚举类4.3单例模式存在的问题4.3.1序列化反序列化破环单例模式4.3.2反射破环单例模式4.4解决单例模式存在的问题4.4.1序列化、反序列方
各类运维工具下载地址维护
容器云服务
运维
tomcat:Indexof/dist/tomcat/tomcat-8Indexof/dist/tomcat/tomcat-9Indexof/dist/tomcat/tomcat-10jdk:JavaDownloads|Oracle
Dockerfile另一种使用普通用户启动的方式
容器云服务
容器云 linux dockerfile docker
基础镜像的Dockerfile#使用Debian11.9的最小化版本作为基础镜像FROMdebian:11.11#维护者信息LABELmaintainer="caibingsen"#复制自定义的sources.list文件(如果有的话)COPYsources.list/etc/apt/sources.list#创建一个目录来存放JDKRUNmkdir-p/usr/java/jdk1.8.0_191
JavaScript 进阶之路:探索高级特性和最佳实践
不在··
原型模式
面向对象的三大特征封装继承多态构造函数什么是构造函数通过new关键字调用一个函数的时候,这个函数就是构造函数。构造函数和普通函数的区别调用方式不同普通函数只用函数名调用构造函数通过new关键字调用返回值不同普通函数的返回值是函数体内return的结果构造函数的返回值是new关键字生成的对象JSPrototype原型对象所有的函数都有一个原型对象Prototype,并且只有函数才拥有原型对象Prot
JAVA JDK7时间相关类
&白帝&
java java python 开发语言
一Date类java.util.Date`类表示特定的瞬间,精确到毫秒。1Date类的构造方法Date类有多种构造方法,可以通过不同的方式创建Date对象。1.Date()构造方法该构造方法不带任何参数,用于创建一个表示当前时间的Date对象。它会返回一个表示当前日期和时间的Date实例。Datenow=newDate();System.out.println(now);//输出当前日期和时间Tu
httppost请求工具类
玉离骚
java 工具类
需要引入httpcore-4.3.1.jar、httpclient-4.3.6.jar。下面列举了是三个http请求方式参考packageyulisao;importjava.io.IOException;publicclassHttpUtil{/***httppost请求**@paramurl请求地址*@paramjson主报文(json字符串格式)*@paramuserId报文头参数*@ret
Axios 教程:Promise 基础的 HTTP 客户端
吉皎妃Frasier
Axios教程:Promise基础的HTTP客户端axiosaxios/axios:Axios是一个基于Promise的HTTP客户端库,适用于浏览器和Node.js环境,用于在JavaScript应用中执行异步HTTP请求。相较于原生的XMLHttpRequest或FetchAPI,Axios提供了更简洁的API和更强大的功能。项目地址:https://gitcode.com/gh_mirror
【Nginx系列】Nginx配置超时时间
m0_74824552
面试 学习路线 阿里巴巴 nginx 运维
???欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。推荐:kwan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术,jvm,并发编程redis,kafka,Spring,微服务等常用开发工具系列:常用的开发工具,IDEA,Mac,Alfred,G
MySQL与Oracle对比及区别
m0_74823434
面试 学习路线 阿里巴巴 java
一、比较1、MySQL的特点性能卓越,服务稳定,很少出现异常宕机;开放源代码无版本制约,自主性及使用成本低;历史悠久,社区和用户非常活跃,遇到问题及时寻求帮助;软件体积小,安装使用简单且易于维护,维护成本低;品牌口碑效应;支持多种OS,提供多种API接口,支持多种开发语言,对流行的PHP,Java很好的支持2、Oracle的特点兼容性:Oracle产品采用标准SQL,并经过美国u构架标准技术所(N
[JS]学习笔记2 -- JAVAScript数据类型
Jizhi_Zhang
JavaScript学习笔记 javascript 学习 笔记
一、常量概念:使用const声明的变量称为“常量”。使用场景:当某个变量永远不会改变的时候,就可以使用const来声明,而不是let。命名规范:和变量一致注:常量不允许重新赋值,在声明的时候必须要赋值(初始化)二、数据类型1、基本数据类型1.1数字型number学习中的数字,整数、小数、正数、负数可以有很多操作:算数+:求和-:求差*:求积/:求商%:取模(取余数)--开发中经常作为某个数字是否被
基于 Node.js 的天气查询系统实现(附源码)
Kasper0121
node.js
项目概述这是一个基于Node.js的全栈应用,前端使用原生JavaScript和CSS,后端使用Express框架,通过调用第三方天气API实现天气数据的获取和展示。主要功能默认显示多个主要城市的天气信息支持城市天气搜索响应式布局设计深色主题界面优雅的加载动画技术栈后端:Node.js+Express前端:HTML5+CSS3+JavaScriptHTTP客户端:AxiosAPI:天气API(v1
Three.js学习笔记
癫狂de痴梦
前端 javascript 学习 前端
1.three.js的引入进入官网Three.js–JavaScript3DLibrary,下载文件解压文件,复制three.js-master\build\three.min.js文件在项目中,引入该文件。2.一个简单threeJs程序(1)创建场景constscene=newTHREE.Scene();(2)创建物体constgeomtry=newTHREE.BoxGeometry(1,1,1
jwt相关问题及应用
2501_90243308
hive hadoop 数据仓库
接收方生成签名的时候必须使用跟JWT发送方相同的密钥六,JWT在spa项目中的使用================项目中JwtFilter类packagecom.zking.vue.util;importjava.io.IOException;importjava.util.regex.Matcher;importjava.util.regex.Pattern;importjavax.servle
Linux系统:第十章:服务器环境搭建
2501_90243308
服务器 linux 运维
JAVA_HOME=/opt/jdk1.8.0_152PATH=JAVAHOME/bin:JAVA_HOME/bin:JAVAHOME/bin:PATHexportJAVA_HOMEPATH然后保存退出:按Esc+:wq执行当前连接刚刚配置的脚本文件使配置文件生效:source/etc/profile或者reboot重启查看jdk版本:java-versionjavaversion“1.8.0_1
Java 不可变集合全面解析
吉安.
开发语言 java
在Java编程中,不可变集合是一种特殊类型的集合,一旦创建,其内容就不能被修改。这种特性使得不可变集合在某些场景下具有独特的优势。创建不可变集合的应用场景数据不可修改的场景:当某个数据不应该被修改时,将其防御性地拷贝到不可变集合中是一种很好的实践。例如,一些配置信息、常量数据等,将它们放在不可变集合中,可以确保在程序运行过程中其内容不会被意外修改。安全调用不可信库:当集合对象需要被不可信的库调用时
Java配置文件从XML到Annotation完美转变
xiaoyustudiowww
java
首先Java配置XML文件光定义文件DTD(DocumentTypeDefinition)或者XSD(XMLSchemaDefinition)就很麻烦,解析XML虽然很规则但是解析XML的代码复杂,而Annotation很方便。其次XML不是程序代码,而Java中Annotation是程序代码继而非常灵活简洁。
Flink (十二) :Table API & SQL (一) 概览
Leven199527
Flink flink sql 大数据
ApacheFlink有两种关系型API来做流批统一处理:TableAPI和SQL。TableAPI是用于Scala和Java语言的查询API,它可以用一种非常直观的方式来组合使用选取、过滤、join等关系型算子。FlinkSQL是基于ApacheCalcite来实现的标准SQL。无论输入是连续的(流式)还是有界的(批处理),在两个接口中指定的查询都具有相同的语义,并指定相同的结果。TableAP
Java力扣题解:169 多数元素——投票法
早起之王
leetcode leetcode
题目给定一个大小为n的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于⌊n/2⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/majority-element著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。分析这里的投票法,是以第一个元素为基准数,票
Solon Cloud Gateway 开发:Helloword
组合缺一
Solon Java Framework gateway java solon
SolonCloudGateway,是一个可Java编程的分布式接口网关(或,代理网关)。有没有注册与发布服务。都可以用。不管是php或者node.js或得java,只要是http服务。也都可互通。下面,演示给一个服务(比如:https://www.baidu.com)配置代理网关呢?1、新建个空的solon-lib项目,添加maven依赖:生成空的solon-lib项目https://solon
Python知识点:基于Python工具和技术,如何使用Truffle进行智能合约开发与部署
杰哥在此
Python系列 python 智能合约 开发语言 编程 面试
开篇,先说一个好消息,截止到2025年1月1日前,翻到文末找到我,赠送定制版的开题报告和任务书,先到先得!过期不候!如何使用Truffle与Python进行智能合约开发与部署Truffle是一个强大的开发框架,它为以太坊智能合约的开发、测试和部署提供了一整套工具。虽然Truffle主要使用JavaScript和Solidity,但是它也可以与Python工具和技术配合使用,以实现更灵活的开发流程。
LeetCode 21. 合并两个有序链表 链表合并 Java实现
Lentr0py
LeetCode 算法题 leetcode 链表 java 算法 数据结构
21.合并两个有序链表21.合并两个有序链表题目来源题目分析题目难度题目标签题目限制解题思路思路:核心算法步骤迭代法代码实现代码解读性能分析复杂度结果测试用例扩展讨论优化写法其他实现总结21.合并两个有序链表题目来源21.合并两个有序链表题目分析将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。题目难度难度:简单题目标签标签:链表题目限制两个链表的节点数目
力扣:69. x 的平方根 题解(Java)
HOOHV
力扣题解
题目地址:x的平方根题目描述:实现intsqrt(intx)函数。计算并返回x的平方根,其中x是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例1:输入:4输出:2示例2:输入:8输出:2说明:8的平方根是2.82842..., 由于返回类型是整数,小数部分将被舍去。解题思路:没什么好说的,调用函数,然后强制转换成int返回就行了。……其实是要手动开平方,用到公式(x+a
java.sql.date 字符串,字符串到java.sql.Date
高度不可替代性
java.sql.date 字符串
Irealizethishasbeenaskedalot.Ididactuallylook.I'vespenthourslookingaroundandtryingtofigurethisout.I'msupposedtobemakingaprogramthatstoreswhatamountstoalistofappointmentsinadatabase,withadescription,da
使用Kotlin编写一个Http服务器
后端kotlinhttp
首发于Enaium的个人博客引言在本文中,我们将使用Kotlin编写一个简单的HTTP服务器。我们将使用Java的ServerSocket类来实现这个服务器。我们将创建一个简单的服务器,它将监听端口8000,并在接收到请求时返回一个简单的响应。Http的格式HTTP请求和响应都是文本格式的。HTTP请求由请求行、请求头和请求体组成。HTTP响应由状态行、响应头和响应体组成。具体可以到MDN查看。代
JavaScript常用的一些代码段
东锋1.3
javascript javascript 开发语言 ecmascript
带有重复项使用递归。对于给定字符串中的每个字母,为字母创建字谜。使用map()将字母与每部分字谜组合,然后使用reduce()将所有字谜组合到一个数组中,最基本情况是字符串长度等于2或1。constanagrams=str=>{if(str.lengthacc.concat(anagrams(str.slice(0,i)+str.slice(i+1)).map(val=>letter+val)),
ZXing库 -- 生成二维码
蓝田~
python 开发语言
引言二维码(QRCode)因其高密度的数据存储能力和易于扫描的特性,在现代社会中得到了广泛应用。ZXing是一个开源的二维码生成与读取库,它支持多种编程语言,包括Java。本指南将详细介绍如何在Java项目中使用ZXing库来生成带有透明背景的二维码。准备ZXing库com.google.zxingcore3.4.1com.google.zxingjavase3.4.1生成二维码编写代码packa
日常小tip_Bat命令运行Java程序
蓝田~
小tips java 开发语言
批处理命令介绍文章目录介绍常用语法bat命令运行一个简单的Java程序介绍批处理命令一般是一个文本文件,文件的每一行命令都会在DOS中执行。一般用来处理需要重复性执行的命令。常用语法echo:表示显示此命令后的字符echooff:表示不显示此命令后的命令行本身的字符@:与echooff类似,但是这条命令加在命令行之前,表示不显示这一行的命令行字符call:调用另外一个批处理文件pause:暂停当前
适合画地图的js库对比整理,Leaflet,Google Maps,Mapbox GL JS,OpenLayers,Cesium,D3.js等对应官方网站、Github项目地址、特点、使用场景及应用
飞火流星02027
前台 地图 GIS javascript 地图库 Leaflet D3.js Mapbox GL JS Google Maps OpenLayers
摘要适合画地图的js库对比整理,Leaflet,GoogleMapsJavaScriptAPI,MapboxGLJS,OpenLayers,Cesium,D3.js及对应官方网站、Github项目地址、特点、使用场景地图库对比整理明细表说明维度库名Github项目特点使用场景LeafletLeaflet/Leaflet轻量级、易于使用、功能丰富。支持各种地图服务(如OpenStreetMap、Ma
python json 用法
云连山
python python json
JSON简介JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。它基于JavaScript的一个子集,易于人阅读和编写,同时也易于机器解析和生成。在Python中,使用json模块来处理JSON数据。JSON支持的数据类型主要有对象(在Python中类似于字典)、数组(在Python中类似于列表)、字符串、数字、布尔值和null。将Python对象转换为JSON
禁止使用Date类的替代办法
Y_FQY
java
为什么现在连Date类都不建议使用了?一、有什么问题吗java.util.Date?java.util.Date(Date从现在开始)是一个糟糕的类型,这解释了为什么它的大部分内容在Java1.1中被弃用(但不幸的是仍在使用)。设计缺陷包括:它的名称具有误导性:它并不代表一个日期,而是代表时间的一个瞬间。所以它应该被称为Instant——正如它的java.time等价物一样。它是非最终的:这鼓励了
[黑洞与暗粒子]没有光的世界
comsci
无论是相对论还是其它现代物理学,都显然有个缺陷,那就是必须有光才能够计算
但是,我相信,在我们的世界和宇宙平面中,肯定存在没有光的世界....
那么,在没有光的世界,光子和其它粒子的规律无法被应用和考察,那么以光速为核心的
&nbs
jQuery Lazy Load 图片延迟加载
aijuans
jquery
基于 jQuery 的图片延迟加载插件,在用户滚动页面到图片之后才进行加载。
对于有较多的图片的网页,使用图片延迟加载,能有效的提高页面加载速度。
版本:
jQuery v1.4.4+
jQuery Lazy Load v1.7.2
注意事项:
需要真正实现图片延迟加载,必须将真实图片地址写在 data-original 属性中。若 src
使用Jodd的优点
Kai_Ge
jodd
1. 简化和统一 controller ,抛弃 extends SimpleFormController ,统一使用 implements Controller 的方式。
2. 简化 JSP 页面的 bind, 不需要一个字段一个字段的绑定。
3. 对 bean 没有任何要求,可以使用任意的 bean 做为 formBean。
使用方法简介
jpa Query转hibernate Query
120153216
Hibernate
public List<Map> getMapList(String hql,
Map map) {
org.hibernate.Query jpaQuery = entityManager.createQuery(hql);
if (null != map) {
for (String parameter : map.keySet()) {
jp
Django_Python3添加MySQL/MariaDB支持
2002wmj
mariaDB
现状
首先,
[email protected] 中默认的引擎为 django.db.backends.mysql 。但是在Python3中如果这样写的话,会发现 django.db.backends.mysql 依赖 MySQLdb[5] ,而 MySQLdb 又不兼容 Python3 于是要找一种新的方式来继续使用MySQL。 MySQL官方的方案
首先据MySQL文档[3]说,自从MySQL
在SQLSERVER中查找消耗IO最多的SQL
357029540
SQL Server
返回做IO数目最多的50条语句以及它们的执行计划。
select top 50
(total_logical_reads/execution_count) as avg_logical_reads,
(total_logical_writes/execution_count) as avg_logical_writes,
(tot
spring UnChecked 异常 官方定义!
7454103
spring
如果你接触过spring的 事物管理!那么你必须明白 spring的 非捕获异常! 即 unchecked 异常! 因为 spring 默认这类异常事物自动回滚!!
public static boolean isCheckedException(Throwable ex)
{
return !(ex instanceof RuntimeExcep
mongoDB 入门指南、示例
adminjun
java mongodb 操作
一、准备工作
1、 下载mongoDB
下载地址:http://www.mongodb.org/downloads
选择合适你的版本
相关文档:http://www.mongodb.org/display/DOCS/Tutorial
2、 安装mongoDB
A、 不解压模式:
将下载下来的mongoDB-xxx.zip打开,找到bin目录,运行mongod.exe就可以启动服务,默
CUDA 5 Release Candidate Now Available
aijuans
CUDA
The CUDA 5 Release Candidate is now available at http://developer.nvidia.com/<wbr></wbr>cuda/cuda-pre-production. Now applicable to a broader set of algorithms, CUDA 5 has advanced fe
Essential Studio for WinRT网格控件测评
Axiba
JavaScript html5
Essential Studio for WinRT界面控件包含了商业平板应用程序开发中所需的所有控件,如市场上运行速度最快的grid 和chart、地图、RDL报表查看器、丰富的文本查看器及图表等等。同时,该控件还包含了一组独特的库,用于从WinRT应用程序中生成Excel、Word以及PDF格式的文件。此文将对其另外一个强大的控件——网格控件进行专门的测评详述。
网格控件功能
1、
java 获取windows系统安装的证书或证书链
bewithme
windows
有时需要获取windows系统安装的证书或证书链,比如说你要通过证书来创建java的密钥库 。
有关证书链的解释可以查看此处 。
public static void main(String[] args) {
SunMSCAPI providerMSCAPI = new SunMSCAPI();
S
NoSQL数据库之Redis数据库管理(set类型和zset类型)
bijian1013
redis 数据库 NoSQL
4.sets类型
Set是集合,它是string类型的无序集合。set是通过hash table实现的,添加、删除和查找的复杂度都是O(1)。对集合我们可以取并集、交集、差集。通过这些操作我们可以实现sns中的好友推荐和blog的tag功能。
sadd:向名称为key的set中添加元
异常捕获何时用Exception,何时用Throwable
bingyingao
用Exception的情况
try {
//可能发生空指针、数组溢出等异常
} catch (Exception e) {
 
【Kafka四】Kakfa伪分布式安装
bit1129
kafka
在http://bit1129.iteye.com/blog/2174791一文中,实现了单Kafka服务器的安装,在Kafka中,每个Kafka服务器称为一个broker。本文简单介绍下,在单机环境下Kafka的伪分布式安装和测试验证 1. 安装步骤
Kafka伪分布式安装的思路跟Zookeeper的伪分布式安装思路完全一样,不过比Zookeeper稍微简单些(不
Project Euler
bookjovi
haskell
Project Euler是个数学问题求解网站,网站设计的很有意思,有很多problem,在未提交正确答案前不能查看problem的overview,也不能查看关于problem的discussion thread,只能看到现在problem已经被多少人解决了,人数越多往往代表问题越容易。
看看problem 1吧:
Add all the natural num
Java-Collections Framework学习与总结-ArrayDeque
BrokenDreams
Collections
表、栈和队列是三种基本的数据结构,前面总结的ArrayList和LinkedList可以作为任意一种数据结构来使用,当然由于实现方式的不同,操作的效率也会不同。
这篇要看一下java.util.ArrayDeque。从命名上看
读《研磨设计模式》-代码笔记-装饰模式-Decorator
bylijinnan
java 设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.io.BufferedOutputStream;
import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.Fi
Maven学习(一)
chenyu19891124
Maven私服
学习一门技术和工具总得花费一段时间,5月底6月初自己学习了一些工具,maven+Hudson+nexus的搭建,对于maven以前只是听说,顺便再自己的电脑上搭建了一个maven环境,但是完全不了解maven这一强大的构建工具,还有ant也是一个构建工具,但ant就没有maven那么的简单方便,其实简单点说maven是一个运用命令行就能完成构建,测试,打包,发布一系列功
[原创]JWFD工作流引擎设计----节点匹配搜索算法(用于初步解决条件异步汇聚问题) 补充
comsci
算法 工作 PHP 搜索引擎 嵌入式
本文主要介绍在JWFD工作流引擎设计中遇到的一个实际问题的解决方案,请参考我的博文"带条件选择的并行汇聚路由问题"中图例A2描述的情况(http://comsci.iteye.com/blog/339756),我现在把我对图例A2的一个解决方案公布出来,请大家多指点
节点匹配搜索算法(用于解决标准对称流程图条件汇聚点运行控制参数的算法)
需要解决的问题:已知分支
Linux中用shell获取昨天、明天或多天前的日期
daizj
linux shell 上几年 昨天 获取上几个月
在Linux中可以通过date命令获取昨天、明天、上个月、下个月、上一年和下一年
# 获取昨天
date -d 'yesterday' # 或 date -d 'last day'
# 获取明天
date -d 'tomorrow' # 或 date -d 'next day'
# 获取上个月
date -d 'last month'
#
我所理解的云计算
dongwei_6688
云计算
在刚开始接触到一个概念时,人们往往都会去探寻这个概念的含义,以达到对其有一个感性的认知,在Wikipedia上关于“云计算”是这么定义的,它说:
Cloud computing is a phrase used to describe a variety of computing co
YII CMenu配置
dcj3sjt126com
yii
Adding id and class names to CMenu
We use the id and htmlOptions to accomplish this. Watch.
//in your view
$this->widget('zii.widgets.CMenu', array(
'id'=>'myMenu',
'items'=>$this-&g
设计模式之静态代理与动态代理
come_for_dream
设计模式
静态代理与动态代理
代理模式是java开发中用到的相对比较多的设计模式,其中的思想就是主业务和相关业务分离。所谓的代理设计就是指由一个代理主题来操作真实主题,真实主题执行具体的业务操作,而代理主题负责其他相关业务的处理。比如我们在进行删除操作的时候需要检验一下用户是否登陆,我们可以删除看成主业务,而把检验用户是否登陆看成其相关业务
【转】理解Javascript 系列
gcc2ge
JavaScript
理解Javascript_13_执行模型详解
摘要: 在《理解Javascript_12_执行模型浅析》一文中,我们初步的了解了执行上下文与作用域的概念,那么这一篇将深入分析执行上下文的构建过程,了解执行上下文、函数对象、作用域三者之间的关系。函数执行环境简单的代码:当调用say方法时,第一步是创建其执行环境,在创建执行环境的过程中,会按照定义的先后顺序完成一系列操作:1.首先会创建一个
Subsets II
hcx2013
set
Given a collection of integers that might contain duplicates, nums, return all possible subsets.
Note:
Elements in a subset must be in non-descending order.
The solution set must not conta
Spring4.1新特性——Spring缓存框架增强
jinnianshilongnian
spring4
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
shell嵌套expect执行命令
liyonghui160com
一直都想把expect的操作写到bash脚本里,这样就不用我再写两个脚本来执行了,搞了一下午终于有点小成就,给大家看看吧.
系统:centos 5.x
1.先安装expect
yum -y install expect
2.脚本内容:
cat auto_svn.sh
#!/bin/bash
Linux实用命令整理
pda158
linux
0. 基本命令 linux 基本命令整理
1. 压缩 解压 tar -zcvf a.tar.gz a #把a压缩成a.tar.gz tar -zxvf a.tar.gz #把a.tar.gz解压成a
2. vim小结 2.1 vim替换 :m,ns/word_1/word_2/gc  
独立开发人员通向成功的29个小贴士
shoothao
独立开发
概述:本文收集了关于独立开发人员通向成功需要注意的一些东西,对于具体的每个贴士的注解有兴趣的朋友可以查看下面标注的原文地址。
明白你从事独立开发的原因和目的。
保持坚持制定计划的好习惯。
万事开头难,第一份订单是关键。
培养多元化业务技能。
提供卓越的服务和品质。
谨小慎微。
营销是必备技能。
学会组织,有条理的工作才是最有效率的。
“独立
JAVA中堆栈和内存分配原理
uule
java
1、栈、堆
1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)3. 堆:存放所有new出来的对象。4. 静态域:存放静态成员(static定义的)5. 常量池:存放字符串常量和基本类型常量(public static f