源码

H2数据库创建表源码分析

家住魔仙堡 提交于 2020-03-05 13:03:47
H2数据库表创建粗滤分析01 创建入口 @Test public void test_h2_mem ( ) throws SQLException { JdbcConnectionPool ds = JdbcConnectionPool . create ( "jdbc:h2:mem:test3" , "sa" , "1" ) ; // JdbcConnectionPool ds = JdbcConnectionPool.create("jdbc:h2:E:/test2", "sa", ""); ds . setMaxConnections ( 1000 ) ; Connection conn = ds . getConnection ( ) ; Statement stat = conn . createStatement ( ) ; // insert data (ddl) String createTableSql = "" ; createTableSql += "create table userInfo( " ; createTableSql += " id int(4) not null primary key auto_increment, " ; createTableSql += " name char(20) not null, " ;

H2数据库查询实现源码分析

十年热恋 提交于 2020-03-05 10:52:11
设置一个查询入口 ResultSet result = stat . executeQuery ( "select id,name,sex,degree from userInfo where name like '%Hello World%'" ) ; H2中的JdbcStatement实现了Statement @Override public ResultSet executeQuery ( String sql ) throws SQLException { try { int id = getNextId ( TraceObject . RESULT_SET ) ; if ( isDebugEnabled ( ) ) { debugCodeAssign ( "ResultSet" , TraceObject . RESULT_SET , id , "executeQuery(" + quote ( sql ) + ")" ) ; } synchronized ( session ) { checkClosed ( ) ; closeOldResultSet ( ) ; sql = JdbcConnection . translateSQL ( sql , escapeProcessing ) ; CommandInterface command = conn .

类王者荣耀源码

妖精的绣舞 提交于 2020-03-05 10:49:51
出售类王者荣耀游戏的源码(unity),需要的人请加QQ2942863275(备注:源码),还会赠送相关学习视频。(百度网盘) 价格:10元。 非诚勿扰,谢谢 来源: CSDN 作者: qq_46466310 链接: https://blog.csdn.net/qq_46466310/article/details/104639300

深入学习和理解 Redux

浪子不回头ぞ 提交于 2020-03-05 09:42:51
本文首发于 vivo互联网技术 微信公众号 链接: https://mp.weixin.qq.com/s/jhgQXKp4srsl9_VYMTZXjQ 作者:曾超 Redux官网上是这样描述Redux,Redux is a predictable state container for JavaScript apps.(Redux是JavaScript状态容器,提供可预测性的状态管理)。 目前Redux GitHub有5w多star,足以说明 Redux 受欢迎的程度。 一、Why Redux 在说为什么用 Redux 之前,让我们先聊聊组件通信有哪些方式。常见的组件通信方式有以下几种: 父子组件:props、state/callback回调来进行通信 单页面应用:路由传值 全局事件比如EventEmitter监听回调传值 react中跨层级组件数据传递Context(上下文) 在小型、不太复杂的应用中,一般用以上几种组件通信方式基本就足够了。 但随着应用逐渐复杂,数据状态过多(比如服务端响应数据、浏览器缓存数据、UI状态值等)以及状态可能会经常发生变化的情况下,使用以上组件通信方式会很复杂、繁琐以及很难定位、调试相关问题。 因此状态管理框架(如 Vuex、MobX、Redux等)就显得十分必要了,而 Redux 就是其中使用最广、生态最完善的。 二、Redux Data flow

深入学习和理解 Redux

最后都变了- 提交于 2020-03-05 09:08:08
本文首发于 vivo互联网技术 微信公众号 链接: https://mp.weixin.qq.com/s/jhgQXKp4srsl9_VYMTZXjQ 作者:曾超 Redux官网上是这样描述Redux,Redux is a predictable state container for JavaScript apps.(Redux是JavaScript状态容器,提供可预测性的状态管理)。 目前Redux GitHub有5w多star,足以说明 Redux 受欢迎的程度。 一、Why Redux 在说为什么用 Redux 之前,让我们先聊聊组件通信有哪些方式。常见的组件通信方式有以下几种: 父子组件:props、state/callback回调来进行通信 单页面应用:路由传值 全局事件比如EventEmitter监听回调传值 react中跨层级组件数据传递Context(上下文) 在小型、不太复杂的应用中,一般用以上几种组件通信方式基本就足够了。 但随着应用逐渐复杂,数据状态过多(比如服务端响应数据、浏览器缓存数据、UI状态值等)以及状态可能会经常发生变化的情况下,使用以上组件通信方式会很复杂、繁琐以及很难定位、调试相关问题。 因此状态管理框架(如 Vuex、MobX、Redux等)就显得十分必要了,而 Redux 就是其中使用最广、生态最完善的。 二、Redux Data flow

【Java源码】集合类-ArrayList

﹥>﹥吖頭↗ 提交于 2020-03-05 08:53:05
一、类继承关系 public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable ArrayList继承AbstractList,也实现了List和RandomAccess(一个空接口,也就是标记接口。),Cloneable(可被克隆), Serializable接口。 二、类属性 //默认容量 private static final int DEFAULT_CAPACITY = 10; //空对象数组(initialCapacity == 0时返回) private static final Object[] EMPTY_ELEMENTDATA = {}; //调用无参构造方法,返回的是该数组 private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {}; //元素数组,保存添加到ArrayList中的元素 transient Object[] elementData; //ArrayList大小 private int size; elementData是transient修饰,所以elementData不能被序列化

石家庄地铁售票系统源码及截图(结对作业)

百般思念 提交于 2020-03-05 07:40:43
源代码: 前端: 主界面index.j <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>石家庄地铁</title> <style type="text/css"> .form{ width: 260px; height :350px; border:5px solid #808080;/*solid细线*/ padding: 10px 20px 30px 40px; margin: 0px auto; background:url("lantian.jpg") ; background-size: 100% 100%; float: left; } .logo{ width:100%; height :100px; background:url("SJZtube.jpg");

zookeeper客户端源码分析

故事扮演 提交于 2020-03-05 07:31:24
zookeeper客户端源码分析 zookeeper简介 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。 使用案例 dubbo、disconf、elastic-job、分布式锁、leader选举 客户端代码解析 接下来的代码可以从的github项目找到 https://github.com/yaojf/zookeeper-learn 。 这里我从Client的main方法开始解析(前提启动了Server,即zk服务端),调用点为ZooKeeperMain.main(args),以下代码都是从这个调用到开始。 构造ZooKeeperMain 默认的连接地址是localhost:2181,会话超时为30000毫秒,核心代码 zk = new ZooKeeper(host, Integer.parseInt(cl.getOption("timeout")), new MyWatcher(), readOnly); 参数依次为zk服务器地址,会话超时时间,默认的观察者类,还有是否只读。 ZooKeeper构造方法里,初始化watchManager(处理各种观察,比如dubbo服务提供者监听

[源码分析]HashSet 和LinkedHashSet

本小妞迷上赌 提交于 2020-03-05 06:53:12
特性 HashSet 是一个可存储不重复元素的容器,底层实现依赖 HashMap ,所以在添加,删除,查找元素时的时间复杂度均为 O(1). 构造方法,初始化内部的 HashMap public HashSet() { map = new HashMap<>(); } public HashSet(Collection<? extends E> c) { map = new HashMap<>(Math.max((int) (c.size()/.75f) + 1, 16)); addAll(c); } public HashSet(int initialCapacity, float loadFactor) { map = new HashMap<>(initialCapacity, loadFactor); } public HashSet(int initialCapacity) { map = new HashMap<>(initialCapacity); } 基础方法 add ,由于 HashSet只存储单个值,所以,内部以值为Key, private static final Object PRESENT = new Object(); 为 value存入HashMap中。当没有元素时候,返回true,已存在,返回false。 public boolean add(E e

PCL源码剖析之MarchingCubes算法

﹥>﹥吖頭↗ 提交于 2020-03-05 06:37:54
MarchingCubes算法简介 MarchingCubes(移动立方体)算法是目前三围数据场等值面生成中最常用的方法。它实际上是一个分而治之的方法,把等值面的抽取分布于每个体素中进行。对于每个被处理的体素,以三角面片逼近其内部的等值面片。每个体素是一个小立方体,构造三角面片的处理过程对每个体素都“扫描”一遍,就好像一个处理器在这些体素上移动一样,由此得名移动立方体算法。 MC算法主要有三步:1.将点云数据转换为体素网格数据;2.使用线性插值对每个体素抽取等值面;3.对等值面进行网格三角化 PCL源码剖析之MarchingCubesHoppe PCL中使用MarchingCubesHoppe类进行三维重建执行的函数体为performReconstruction(),其代码如下: template < typename PointNT> void pcl::MarchingCubes<PointNT>::performReconstruction (pcl::PolygonMesh &output) { if (!(iso_level_ >= 0 && iso_level_ < 1 )) { PCL_ERROR ( "[pcl::%s::performReconstruction] Invalid iso level %f! Please use a number between