大师网-带你快速走向大师之路 解决你在学习过程中的疑惑,带你快速进入大师之门。节省时间,提升效率

java操作POI读写Excel文件

xls的;使用XSSF、SXSSF对象操作OOXML格式Excel,文件后缀为. // FileOutputStream outputStream = new FileOutputStream(new File("test.xlsx")); } 其结果就是就内容“hellword” 写到当前工程的test.xlsx文件的第三行第三列中,如图: 这里写图片描述 02.03.读Excel数据 @Test public void readExcel() throws Exception { //打开需要读取的文件 FileInputStream inputStream = new FileInputStream(new File("text.xlsx")); System.out.println(value);

Spring Boot缓存实战 Redis 设置有效时间和自动刷新缓存,时间支持在配置文件中配置

return cacheManager; void put(Object key, Object value); } } 那自动刷新时间呢? 在RedisCache的属性里面没有刷新时间,所以我们继承该类重写我们自己的Cache的时候要多加一个属性preloadSecondTime来存储这个刷新时间。并在getMissingCache方法创建Cache对象的时候指定该值。 CustomizedRedisCache部分源码: /** * 缓存主动在失效前强制刷新缓存的时间 * 单位:秒 */ private long preloadSecondTime = 0; if (ann !

五个步骤教你理清Redis与Memcached的区别

// 底部为了节省空间,一种type的数据, // 可 以采用不同的存储方式 unsigned lru:REDIS_LRU_BITS;" typedef struct dict { dictType *type; // 这个就是桶的数量 // sizemask取size - 1, 然后一个数据来的时候,通过计算出的hashkey, 让hashkey sizemask来确定它要放的桶的位置 // 当size取2^n的时候,sizemask就是1...111,这样就和hashkey % size有一样的效果,但是使用 会快很多。这就是原因 unsigned long sizemask;

Caffe2核心代码解析系列之三:Tensor

CAFFE_ENFORCE( context !reset( ptr_and_deleter.first, [size, dtor, deleter](void* ptr) - void { dtor(ptr, size); Tensor 最后我们来看下真正外部程序所见的对象,Tensor。 以下为它的构造函数及基本类成员,从此易知它的大部分操作都是借助TensorImpl来完成的。在它的多个构造函数当中还有一个模板构造函数。 /** * @brief Tensor class holds a shared pointer to the implementation TensorImpl, * redirects API calls to TensorImpl;

Hbase安装搭建并部署还有可能遇到的坑

Hbase安装搭建并部署还有可能遇到的坑 1.前提条件: JDK1.8 Hadoop 2.7 以上版本部署完毕 2.安装Hbase 在官网下载安装包,推荐1.hbase.cluster.distributed true hbase.rootdir hdfs://192.168.21.77:9000/hbase hbase.zookeeper.property.dataDir /opt/soft/hbase-1.4.7/zkData hbase.zookeeper.property.dataDir /opt/soft/hbase-1.4.7/zkData hbase.unsafe.stream.capability.enforce true 4.启动Hbase 去bin目录下启动 执行 .

大数据04-Hadoop 基础

大数据04-Hadoop 基础 下载hadoop-2.7.5进行演示 1、解压 2、配置 配置文件在$HADOOP_HOME/etc/hadoop/目录下 hadoop-env.sh 修改他的 JAVA_HOME core-site.xml 配置默认文件系统和临时目录 fs.defaultFS hdfs://localhost:8020 hadoop.tmp.dir /app/hadoop-2.7.5/data hdfs-site.xml 配置副本数 dfs.replication 1 vim slaves 修改域名 namenode 格式化 在$HADOOP_HOME/bin 目录下 .

Chi-Square 用途1

Chi-Square 用途1 Data Science Day 4: Chi-Square test application 1: TestGoodness of a fit. We use the followingpythoncode to acquire the p-value: Chisquare(f_obs=[18,15,5,8,4,3], f_exp=[10,5,7,18,10,11]) For this particular example, thep-value=6.02e-08, which is significantlysmaller than 0.05. Example 2: Data visualization Interpretation We will graph a Chi-square distribution with degree 5 and size 1000, and use Kernel Density Estimation to fit the graph.

React Native动态表单 新框架 新设计

return ( {this.form = c;}} items={items}/ ); } } 上面是基本使用方法,如何获取里面输入框里面的值呢,如下: onPress() { const value = this.form.getValue(); } 只需要调用 form表单的getValue方法,便可以返回如下: { "username": "zhang" , "password": "234" } 获取姓名对应的组件如下: const input = this.form.getComponentByKey("username"); License DynamicForm is released under the Apache License. 项目地址 DynamicForm

Kotlin对SP使用的封装

Kotlin对SP使用的封装 为了更易于使用SharedPreferences,使用Koltin的委托模式来对SP进行封装 1. 定义委托类 class Preference (val name: String, val default: T) { val prefs: SharedPreferences by lazy { MyApp.instance.applicationContext.getSharedPreferences("SP", Context.MODE_PRIVATE) } operator fun getValue(thisRef: Any?, property: KProperty ): T = getSharedPreferences(name, default) operator fun setValue(thisRef: Any?

pyspark

/foreachExample.txt", "r") as foreachExample: print (foreachExample.read()) [1, 2, 3] None 3 1 2 循环操作,但是操作的过程可能是并发的并不是按顺序 foreachPartition foreachPartition from future import print_function x = sc.parallelize([1,2,3],5) def f(parition): '''side effect: append the current RDD partition contents to a file''' f1=open(".

vuex工作原理详解

== nativeWatch) { initWatch(vm, opts.watch) } } initState方法当组件实例化时会自动触发,该方法主要完成了初始化data,methods,props,computed,watch这些我们常用的属性,我们来看看我们需要关注的initData和initComputed(为了节省时间,去除了不太相关的代码) 先看看initData这条线 // src/core/instance/state.js function initData (vm: Component) { let data = vm.$options.data data = vm._data = typeof data === 'function' ?

mint-ui 源码学习三 —— datetime-picker 源码学习

this.$emit('cancel') } 就是关闭 datetime-picker 然后触发 confirm 和 cancel 事件。 限定时间范围并填充 slot 在选择器中还有个限制时间范围的功能,看下是如何实现的。 首先在 mounted 事件中如果没有定义 value 值会定义 picker 的默认选择 startHour 或者 startDate(看类型是不是 time)。 mounted() { this.currentValue = this.value;this.currentValue) return { year: [], month: [], date: [], hour: [], min: [] }; let result;

ES6入门用法&函数与对象的语法糖

objA} 深拷贝 JSON.parse(JSON.stringify(data)) 条件: 没有复杂对象:如日期对象,正则对象,没有函数,没有循环引用,没有所有普通对象之外的对象 没有undefined 递归 动态的key值可以用中括号括起来 var key = 'x' var value = 'y' var obj = {} obj[key] = value var obj = { [key + key] : value }

vue 跳转页面并传递参数

vue 跳转页面并传递参数 首先创建readDetail.vue 且在index.js中注册路由。 传递页面方式: 1.通过router-link进行跳转 跳转 1. path - 是要跳转的路由路径,也可以是路由文件里面配置的 name 值,两者都可以进行路由导航 2. params - 是要传送的参数,参数可以直接key:value形式传递 3. query - 是通过 url 来传递参数的同样是key:value形式传递 2. $router方式跳转 this.$router.push({name:'路由命名'

React 进阶设计与控制权问题

上被安利。它与其他所有中间件一样,将 action 到 reducer 中间的过程进行掌控,使得业务使用时可以直接 dispatch 一个函数类型的 action,实现代码也很简单: function createThunkMiddleware(extraArgument) { return ({ dispatch, getState }) = next = action = { if (typeof action === 'function') { return action(dispatch, getState, extraArgument); export default thunk; action.payload . return Promise.reject(error);

用好HashMap,只需看这里!

onlyIfAbsent || oldValue == null) e.value = value; } 定位算法 HashMap中数组下标的计算并不是通过hash^ngth,而是(length - 1) hash(两个数与计算,最终的结果肯定小于或者等于最小的那个值,最后肯定不越界)。这种方式明细不直观,不符合常规思维,难道是这种方式有更优的性能吗? 不妨用JMH微机准测试下: static int length = 32; @Benchmark public void wellHelloThere() { int i = RandomUtils.nextInt() % length;

Redis缓存数据库详解

Redis缓存数据库详解 Redis最为常用的数据类型主要有以下五种: 1)String 2)Hash 3)List 4)Set 5)Sorted set 在具体描述这几种数据类型之前,我们先通过一张图了解下Redis内部内存管理中是如何描述这些不同数据类型的: 首先Redis内部使用一个redisObject对象来表示所有的key和value

elastic job源码分析 - 注册中心

elastic job源码分析 - 注册中心 在elastic job中,只实现了基于zookeeper的注册中心。类图如下: 基于Zookeeper的注册中心 基于Zookeeper的注册中心ZookeeperRegistryCenter实现了协调分布式服务的注册中心CoordinatorRegistryCenter,协调分布式注册中心继承了接口注册中心RegistryCenter。 接口注册中心要求实现一些基本方法: public interface RegistryCenter { /** * 初始化注册中心. */ void init();

javaScript策略模式实现表单验证学习

javaScript策略模式实现表单验证学习 策略模式定义:定义一系列的算法,把它们一个个封装起来,并且使它们可以互相替换。 用策略模式实现表单验证: var rules = { isNonEmpty: function(value, errorMsg) { if (value === '') { return errorMsg; this.cache.push(function() { var strategy = ary.shift(); } var registerForm = document.getElementById('form');