![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
随笔
Chester Chai
这个作者很懒,什么都没留下…
展开
-
网页中获取微信用户是否关注订阅号的思路
订阅号要获取微信用户是否关注,请保证在同一个微信开放平台帐号下有一个服务号,否则可能很难实现。在平时的业务工程中我们需要了解用户是否关注了微信公众号才能继续往下操作。这种操作对服务号来说是很容易的,具体可以参考微信开发文档>微信网页开发>网页授权但是订阅号是没有这个功能的,也就是无法通过这个机制知道微信用户是否关注,本文就是要解决这个问题。在微信开发文档>用户管理>获取用户基本信息(UnionID机制)>UnionID机制说明中有提到:开发者可通过OpenID来获.原创 2020-09-22 10:36:55 · 433 阅读 · 0 评论 -
java中两个整形相除,向上取整
在大部分编程语言中整形的除法都是向下取整的,比如:3/2 = 1;5/2 = 2;有的时候我们需要向上取整,即:3/2 = 2;5/2 = 3;我们可以这样做:int a = 3;int b = 2;int c = (int)Math.ceil((double)a/b);这里涉及到比较多的类型转换,只要记住Math.ceil的作用是对浮点型向上取整即可。...原创 2019-10-09 19:43:03 · 33035 阅读 · 1 评论 -
JVM运行时数据区概览
在学习JVM之前我们需要明确的是,我们所学习的是JVM的一个规范,在实际中有很多不同种类的虚拟机来实现这一种规范。其次JVM运行时数据区和JMM的区别我们要搞清楚,不能将JMM理解为JVM运行是数据区。本篇只意在使读者对JVM运行时数据区有一个整体的了解,并没有深入细节的探讨,这样在阅读其他资料的时候心中有一个整体的印象。JVM分为三大部分:类加载子系统、运行时数据区、执行引擎。其中我们要讲的J...原创 2019-08-30 13:22:16 · 199 阅读 · 0 评论 -
vscode设置代码编辑时组合键代替方向键移动光标
在使用vscode编写代码的时候,经常需要移动光标来修改或者插入,这个时候我们通常会选择使用键盘上的方向键,但是从键盘的主输入区到方向键有一定的距离,在输入很快的时候,右手移动这一点距离也是无法忍受的,也就理解的vim为什么要设置hjkl来移动光标了。我们就来了解一下在vscode中如何设置按键取代方向键吧,这里我使用Alt+j,Alt+l,Alt+i,Alt+k分别取代LeftArrow,Rig...原创 2019-08-21 13:14:53 · 6825 阅读 · 4 评论 -
数组树/fenwicktree/Binary Indexed Tree
在解类似 leetcode 307题区域和检索 - 数组可修改的题时,我们可以使用一种比较小众的数据结构,数组树。数组树的结构依托于数组,它的结构看起来类似下面这种:1,2,3。。。。代表他们在数组中的位置,在了解为什么有这种数据结构之前,请务必先看看上面提到的leetcode 307题。在数组树中有两个主要的操作函数更新和查询。在更新数组中的某一个位置的数值的时候,其所有祖先节点全部都要...原创 2019-08-24 21:27:52 · 300 阅读 · 0 评论 -
一个简单的因数分解java代码
public static int[] factor(int num) { if(num == 0) throw new IllegalArgumentException(); if(num == 1) return new int[]{1}; ArrayList<Integer> resList = new ArrayList<>(); //...原创 2019-08-11 13:48:15 · 1683 阅读 · 0 评论 -
三向切分快速排序
我们知道快速排序的应用非常广泛,也许你可以非常熟练的可以写出一个快速排序,在大多数情况下快速排序是可以适用的,但是快速排序还有一个改进的算法称为三向切分快速排序,它是快速排序的一个变种,尤其适合在数据大量重复的情况下使用,它对快速排序性能的提升程度取决于重复数字的多少,平均时间复杂度介于N和NlogN之间。在学习三向切分快速排序之前,我们先来了解一下 E.W.Dijlstra(Dijkstra...原创 2019-08-08 19:53:29 · 693 阅读 · 0 评论 -
使用Fork/Join框架优化归并排序
Fork/Join框架是一个非常有意思的并发框架,它非常适合于处理类似归并排序这种将大的问题分解成多个小问题,并将结果进行合并的情况,这次我们就使用Fork/Join框架来优化我们的归并排序。查看更多有关Fork/Join框架的知识,请点击这里;首先为了与普通单线程归并排序对比,我们先来写一个传统的归并排序:import java.util.Arrays;public class Test...原创 2019-08-03 20:55:10 · 367 阅读 · 0 评论 -
LinkedHashMap 实现缓存(LRU、FIFO、weakhashMap)
原文地址:https://www.jianshu.com/p/c627a30cf14a在文中使用了LinkedHashMap实现了LRU和FIFO缓存机制。实际上在LinkedHashMap的设计上就方便了我们使用它来实现这两种缓存机制。关于LinkedHashMap的数据结构参考:https://www.cnblogs.com/CarpenterLee/p/5541111.html关...原创 2019-07-21 11:16:45 · 192 阅读 · 0 评论 -
ArrayDeque中的取余
Java里有一个叫做Stack的类,却没有叫做Queue的类(它是个接口名字)。而当需要使用栈时,Java已不推荐使用Stack,而是推荐使用更高效的ArrayDeque;既然Queue只是一个接口,当需要使用队列时也就首选ArrayDeque了(次选是LinkedList)。ArrayDeque底层实际上是使用双向队列数组结构来实现的。那我们知道使用双向队列就不得不面临一个问题,那就是取余,然...原创 2019-07-21 11:00:16 · 226 阅读 · 0 评论