- 博客(38)
- 收藏
- 关注
原创 JS获取json中所有的key
let json = { "version2": 1591271474000, "version1": 1591272854000 }Object.keys(json);//["version2", "version1"]
2020-06-11 10:13:55
8328
2
原创 初探Spark,DataFrame中使用Time Window实现Count window
背景:最近工作中碰到一个需求,需要使用一个spark job进行离线数据同步,将每天所有车的心跳HB数据中的指标A进行统计,得到响应一个统计结果,然后入库。job的逻辑的核心算法,是这样:每一台车约有550条HB,以15条为宽度,以5条为间距,移动的去统计计算,即1-15条数据进行一次算法判断得到一个结果,6-20条进行一次算法判断得到一个结果,11-25条数据进行一次算法判断得到一个结果…直至第550条。难点:看到这个算法描述,首先想到的是使用滑动窗口,来解决此问题。然后去对spark进行技术调研,发
2020-05-24 20:50:04
713
原创 LeetCode算法《程序员面试金典(第6版)》 刷题记录(持续更新)
题目1.实现一个算法,确定一个字符串 s 的所有字符是否全都不同。示例 1:输入: s = “leetcode”输出: false示例 2:输入: s = “abc”输出: true限制:0 <= len(s) <= 100如果你不使用额外的数据结构,会很加分。题解java代码class Solution { public boolean isUniqu...
2020-04-11 20:30:53
634
原创 Java 从HttpServletRequest中获取url中的相关信息
示例说明在ip地址为172.23.204.60(客户端)的主机上打开浏览器,访问172.23.204.44(服务器)服务器上的路径http://172.23.204.44/user/token/verify此时服务器后台接收到此次请求,对应的HttpServletRequest request常用的一些url相关信息,如如下://请求自身相关request.getScheme();//请求...
2020-01-19 14:45:50
964
原创 记录一次redis中sorted set的应用
背景在公司的项目中,有上万台设备,每台设备每分钟会发送一次的心跳数据(HB),用到了storm进行实时的流式计算,HB的数据结构类似是:{ "id":"123", "occurrence_time":"2019-11-03T21:50:00Z" "biz1":"val1", "biz2":"val2", "biz3":"val3", ...}id是每台设备的唯一标识现在有一...
2019-11-03 22:54:33
190
原创 2019-09-17随笔 bug修改记录
1.从Hbase中进行批量get时,一次get操作获取到的的数据量(20W)太大了报错解决方案:分割查询,分10次查询,每次批量get只获取2w数据,取出数据后再进行拼装2.原生JDBC写法批量执行sql时出现的问题 /*sqlList为要执行的sql的集合,smt为Statement对象,conn为Connection对象*/ for(String sql : sqlList){ ...
2019-09-17 23:37:37
159
原创 ES6中的forEach和jQuery中each的区别
1. ES6中的forEach的写法var numArray = [1,3,5,7];numArray.forEach(function(value,index,array){ console.log(index+':'+value);})输出为://0:1//1:3//2:5//3:72. jQuery中each的写法首先需要引用jquery文件var num...
2019-07-19 13:54:51
440
原创 HashMap详解
1.什么是哈希表进行增删改查操作时,使用哈希函数进行定位,在不考虑哈希冲突的情况下,其操作的时间复杂度都为O(1)(哈希函数:存储位置=f(关键字))2.哈希冲突(碰撞)定义:使用哈希函数进行定位时,不同的元素映射到了相同的地址解决办法:a.开放定址法(发生冲突,继续寻址) b.再散列函数法 c.链地址法(数组+链表)HashMap使用的就是数组+链表的结构transient Node...
2019-07-07 22:10:09
109
原创 Java基于POI将Excel导入数据库(建表+数据导入)
功能需求:现有excel表student.xlsx,表格内容为需要在数据库创建一张表,表名为student,列名为name、age、gender,同时将excel中的数据导入这张表中去功能实现pom如果项目使用maven构建,pom文件需要加入依赖 <!-- 支持execl xls文件操作 --> <dependency> <grou...
2019-05-20 10:24:16
1961
1
原创 Mybatis中的设计模式
1建造者模式使用多个简单的对象一步一步构建成一个复杂的对象SqlSessionFactory的构建过程:SqlSessionFactoryBuilder调用XmlConfigBuilder读取MybatisMapConfig.xml和*Mapper.xml得到Mybatis运行的核心对象Configuration将Configuration作为参数调用build方法得到SqlSessi...
2019-05-15 15:07:33
1732
原创 JS点击事件重复绑定的问题
核心关键字:.off("click").unbind("click")问题出现场景现在页面上有两个按钮HTML<button id="btn1">按钮1</button><button id="btn2">按钮2</button>js//页面初始化方法$(function(){ //按钮1的点击事件 $("#btn1").c...
2019-04-25 16:10:23
2039
1
原创 反转链表
题目描述输入一个链表,反转链表后,输出新链表的表头。/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution { public ListNode Rev...
2019-02-16 16:58:48
138
原创 Java 求二进制数中1的个数
题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。public class Solution { public int NumberOf1(int n) { int count = 0; if(n<0){ n = n & 0x7FFFFFFF; count++; ...
2019-02-16 15:51:05
670
原创 Java实现青蛙跳台阶问题
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。实际上还是斐波那契数列代码public class Solution { public int JumpFloor(int target) { if(target == 1){ return 1; ...
2019-02-16 15:12:16
380
原创 Java实现斐波那契数列
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。递归实现使用递归,如果n的值很大,可能会发生Stack Overflowpublic class Solution { public int Fibonacci(int n) { if(n==0){ return 0; } ...
2019-02-16 14:32:51
150
原创 Java用两个栈实现队列
题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。代码import java.util.Stack;public class Solution { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new ...
2019-02-16 13:58:42
134
原创 Java实现重建二叉树
题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。代码/** * Definition for binary tree * public class TreeNode { * int v...
2019-02-16 13:33:19
436
原创 Java中对象访问的两种方式
对象的引用存放在栈的本地变量表中,以reference的类型存储1.使用句柄访问优点:reference中存储的是稳定的句柄地址,对象移动时,只需要改变reference指针的指向,而不需要改变reference的实际内容2.直接访问优点:访问速度快,减少了一次指针定位的开销Hot Spot虚拟机采用的是直接访问的方式(对象的类型数据包含了对象类型,父类,实现的接口、方法等...
2019-02-13 16:44:06
519
原创 SpringMVC工作原理
用户发送请求至前端控制器DispatcherSevrlet前端控制器调用HandlerMapping处理器映射器(一般通过配置的xml、注解方式进行查找)找到具体的处理器,生成处理器对象及处理器拦截器一并返回给DispatcherServletDispatcherServlet再去调用处理器适配器HandlerAdapterHandlerAdapter经过适配找到具体的处理器(Contro...
2019-01-24 17:43:17
124
原创 Shiro配置多Realm
列举一下配置单realm和配置两个reaml时,配置文件中有区别的地方(只写了能体现多realm配置区别的配置,其他配置自行添加)单realm时的配置<!-- Realm1实现 --><bean id="userRealm" class="com.common.shiro.realm.UserRealm"> <property name="credenti...
2019-01-23 16:30:23
950
原创 IDEA中涉及JDK版本的几个地方
使用idea编译器时,可能会需要修改jdk版本的几个地方1.Settings>Build,Execution,Deployment>Complier>Java Compiler编译器的版本,就是生成class文件的jdk版本2.Project Structure>Platform Settings>SDKs这里要添加一个所需版本的SDK(Software D...
2019-01-23 10:38:47
3340
1
原创 CSS背景图片平铺占满整个浏览器,且固定住不随滚动条移动
背景图片平铺占满整个浏览器,且固定住不随滚动条移动的样式写法body { background-image: url(../images/bakimg.jpg); background-size: 100% 100%; background-repeat: no-repeat; background-attachment:fixed;}...
2019-01-16 15:27:49
3928
1
原创 Redis常用指令
key值相关的常用指令1.查看指定格式的keykeys pattern(如keys *可以查看列举出现数据库下所有)2.删除存在的keydel key3.判断key是否存在exists key4.给key设置过期时间,时间单位为秒expire key seconds5.查看key的过期时间,时间单位为秒ttl key6.移除key的过期时间,使key持久化persist ...
2019-01-15 20:17:46
975
1
原创 Shiro登录认证流程
登录认证流程1.获取当前用户Subject currentUser = SecurityUtils.getSubject();2.判断用户是否登录currentUser.isAuthenticate();3.将用户名密码封装成tonkenUsernamePasswordToken tonken = new UsernamePasswordToken(“username”,“passwo...
2019-01-11 16:44:34
3052
原创 CAS 4.2.1单点登录(六) 登录时添加除了用户名之外的更多属性
数据库的用户表中有一个权限字段roles存放着权限相关的信息,目标是将该字段带到前台的jsp页面以便进行一些权限控制的处理实现方式是将该字段在密码验证的时候,放在principal的attribute属性之中1.MyQueryDatabaseAuthenticationHandler类对照着sql属性新增rolesSql属性(同MD5加盐中的saltSql)修改authenticateUs...
2019-01-08 21:30:54
844
2
原创 CAS 4.2.1单点登录(五) 添加验证码
从以前的项目中拿来了验证码的实现因为使用的servlet的形式,这部分可以很方便的复用到其他项目中1.在cas-server-webapp下新建一个package verifycode,在这个package下新建两个类AuthImage和VerifyCodeUtilspackage verifycode;import javax.servlet.ServletException;imp...
2019-01-08 21:15:14
324
原创 CAS 4.2.1单点登录(四) 密码加密之MD5加盐
这里只用MD5加盐的方式对密码进行加密,为了提高安全性,盐值采用的是用户名+一个从数据库中获取的字段salt密码比对的逻辑是在QueryDatabaseAuthenticationHandler的authenticateUsernamePasswordInternal方法中,因此加密操作如下:1.自定义一个类MyQueryDatabaseAuthenticationHandler该类与Que...
2019-01-08 20:08:22
2414
4
原创 CAS 4.2.1单点登录(三) 配置连接数据库
cas默认是读取cas-server-webapp下的cas.properties文件中的accept.authn.users=casuser::Mellon作为登录的用户名和密码的下面我们修改使cas从数据库中获取用户名和密码1.cas-server-webapp下的cas.properties添加# == Basic database connection pool confi...
2019-01-08 19:34:56
963
原创 CAS 4.2.1单点登录(二) 修改支持http协议
1.cas-server-webapp下的cas.properties添加tgc.secure=falsewarn.cookie.secure=true2.cas-server-webapp下的src>main>resources>services中的HTTPSandIMAPS-10000001.json文件"serviceId" : "^(https|imaps):/...
2019-01-08 19:02:47
460
原创 node.js学习笔记
为期一个半月的学习成果,记录的一些笔记Day1Node.js是什么1.Node.js is a JavaScript runtime built on Chrome’s V8 JavaScript engine.node.js是一个js运行环境node.js可以解释和执行js代码浏览器中的JavaScript分为3部分:1)EcmaScript(基本的语法,如if、var、func...
2018-11-29 20:34:18
359
原创 Java实现快速排序
先上代码,贴到IDE中就能看到结果package sort;public class QuickSort { public static void main(String[] args) { int[] arry = {5,7,9,1,4,6}; mySort(arry,0,arry.length-1); for(int i = 0;i&lt;arry.length;i++) ...
2018-11-29 20:24:17
152
原创 js中类的继承
在学习js类的继承之前,首先查找学习了一些前置知识一、js中定义类的写法:function Person(name){this.name = name;}Person.prototype.getName = function(){return this.name;}实例化:var person = new Person("tom");二、关于prototype:每一个...
2018-07-26 21:16:24
497
原创 JAVA上传图片文件到服务器
HTML部分:现在有一个表格,表格的第一个td中是一个图片上传的input框<td id="iconTd" rowspan="4" style="background-image: url('<%=basePath%>/static/images/niu.jpg'); background-size: 100% 100%"> <i...
2018-06-12 23:31:37
2695
原创 将前端table中键值对形式的数据,处理之后,在后台得到一个Map对象
前端部分:有一个n行两列table,第一列是键,第二列是值<table id="tb1"><tr><td><input type="text" value="key1"></td><td><input type="text" value="
2018-05-30 20:48:40
1635
原创 解析XML文件
解析XML文件1.新建一个Cat类,其中包含一个带参的构造方法publicclass Cat { publicCat(String name){ System.out.println("new Cat : " + name); }}2.写一个 通过反射
2017-08-02 17:34:06
173
原创 Java通过反射来获取类的私有构造方法和成员方法
调用类的私有构造方法与成员方法1.首先创建一个Dog类public class Dog {//无参构造方法private Dog(){System.out.println("叫唤");}//带参的构造方法private Dog(String str){System.out.println("叫唤:"+str);}//成员方法private v
2017-08-01 20:00:34
632
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人