自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

倚楼北望

菜鸟而已

  • 博客(21)
  • 资源 (1)
  • 收藏
  • 关注

原创 Intellj idea 安装或升级后无法打开修复方法

1. Intellj 升级新版版或者卸载老版本安装新版本后出现双击图标无法运行的情况 找到你的idea安装路径的bin目录下的idea.bat 批处理脚本,使用文本编辑器打开 idea.bat 脚本,在最后一行加上pause IDEA 2020.2.2(此处是你安装idea的版本号) 下图是我的安装路径 记事本打开idea.bat文件后在最后一行加入 pause IDEA 2021.2.2(你安装的版本号) 添加后双击运行查看dos弹窗内的日志 以下是我的报错...

2021-07-31 08:58:26 8131 2

原创 Top K算法(问题) 小顶堆指定排序实现及源码解析

本文基于大家了解了有限队列进行的,如果不了解请点击下方传送门,进入了解,大佬文章里面也对这个队列如何使用有很详细的解答。传送门:PriorityQueue(优先队列参考)https://blog.csdn.net/u010623927/article/details/87179364package com.example.tran;import java.util.Comparator;import java.util.PriorityQueue;import java.util.Queue;

2021-02-09 18:52:47 194

原创 企业微信员工离职成员客户,客户群分配接口

分配成员的客户:背景介绍:我们公司采用第三方应用的形式进行的开发所以获取的外部联系人ID也是使用第三方应用token获取的,但是的第三方应用开发没有提供关于客户群分配的接口。解决方案一:经过测试第三方应用获取的外部联系人Id经过调用企业微信提供的外部联系人openid转换接口可以获取到外部联系人的openId, 使用自建应用获取企业外部联系人ID调用外部联系人openid转换接口可以获取到外部联系人的openId,以上两种应用调用接口只是传递参数时使用的token不一致...

2020-11-24 18:59:18 1102

原创 关于同一客户企业安装同一服务商多个应用后企业微信只会推送一次通讯录改变事件

今天自测的时候突然想如果一个服务商的多个应用都被同一家公司安装了,会不会出现什么奇特的事情,于是就开始了搞事情的测试。第一步dev,test环境同一公司分别安装同一个服务商的同一个应用(模拟同一公司安装同一服务商的多个应用),第二步 打开企业微信后台扫码添加新的成员,观察控制台日志输出,发现只有其中一个环境接收到的企业微信的通知事件,另一个环境不再接收到企业微信的通讯录改变事件,。第三步将dev环境的应用删除,再次添加新的成员,观察控制台输出日志,发现test环境打印出了企业微信通讯录改变事件通知。

2020-11-24 18:35:13 605

原创 企业微信支付之发送红包接口实现

遇到的坑要写下来。企业微信接口定义:企业微信AP地址:https://work.weixin.qq.com/api/doc/90000/90135/90275请求方式:POST(HTTPS)请求地址:https://api.mch.weixin.qq.com/mmpaymkttransfers/sendworkwxredpack是否需要证书:是(注:这里的是否需要证书指的是在post请求中需要携带证书,证书最好按照企业微信的建议放在一个有读取权限的位置)数据格式:xml证书使用详

2020-11-20 15:01:41 3340 15

原创 海量数据处理的 Top K算法(问题) 小顶堆实现

问题描述:有N(N>>10000)个整数,求出其中的前K个最大的数。(称作Top k或者Top 10)  问题分析:由于(1)输入的大量数据;(2)只要前K个,对整个输入数据的保存和排序是相当的不可取的。        可以利用数据结构的最小堆来处理该问题。       最小堆如图所示,对于每个非叶子节点的数值,一定不大于孩子节点的数值。这样可用含有K个节点的最小堆来保存K个目前的最大值(当然根节点是其中的最小数值)。      每次有数据输入的时候可以先与根节点比较。若不大于.

2020-11-17 16:36:14 242

原创 微信扫码支付接口

本文以微信统一支付接口模式二来进行开发 模式二与模式一相比,流程更为简单,不依赖设置的回调支付URL。商户后台系统先调用微信支付的统一下单接口,微信后台系统返回链接参数code_url,商户后台系统将code_url值生成二维码图片,用户使用微信客户端扫码后发起支付。注意:code_url有效期为2小时(也可以根据统一支付接口内提供的定义订单有效期字段进行自定义设置,但是最好不要超过微信定义的这个两小时有效期),过期后扫码不能再发起支付(再次扫描二维码时会弹出提示,订单已过期)。业务流...

2020-09-10 14:34:16 3907

原创 给定一个集合输出集合中两两相加等于某个值的方法

public static void main(String[] args) { List list = Arrays.asList(1,2,3,7,5,6,4); StringBuffer str = new StringBuffer(); for (int i=0;i<list.size();i++) { for (int j=i+1;j<list.size()-i;j++){ ..

2020-05-24 22:15:59 685

原创 随机生成一个四位各不相同的四位数

@Test public void getRandDom(){ String number = ""; Random rd = new Random(); while (number.length() != 4) { String rn = rd.nextInt(10) + ""; if (number.length()==1){ if ("0".equals(rn)..

2020-05-24 22:13:07 3792

原创 IDEA常用配置介绍

首先安装之后如果觉得IDEA很卡那就是需要调高jvm内存,配置如下。找到安装路径如下,我的安装路径如下图(E:\IntelliJ IDEA 2019.1\bin)进入安装路径后用记事本开打途中选中的文件idea.exe.vmoptions 调高jvm的内存,因为我的内存是8G的所以设置的如下-Xms1024m-Xmx4096m-XX:ReservedCodeCach...

2020-03-21 21:50:58 180

转载 深入理解Java虚拟机——JVM类加载机制(类加载过程和类加载器)

一、什么是类加载机制?虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。二、类加载的时机类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading)、验证(Verification)、准(Preparation)、解析(Resolution)、初始化(...

2020-03-21 15:58:04 135

原创 一些面试题

1.hashcode中能使用随机数吗?为什么?java规范建议同一个类的equals()方法和hashcode()方法应该是对应的,如果两个对象的equals()返回值相等,hashcode()返回值也相等。(当然,不一样不会报错)hashcode()计算过程中最好用到每个有意义字段的散列码。特别的是:不能有随机数,因为同一个对象的hashcode()就可能不一样2.描述synchr...

2020-03-21 15:44:15 350

转载 面试题:设计高并发系统的时候,数据库层面该如何设计

面试题为什么要分库分表(设计高并发系统的时候,数据库层面该如何设计)?用过哪些分库分表中间件?不同的分库分表中间件都有什么优点和缺点?你们具体是如何对数据库如何进行垂直拆分或水平拆分的?面试官心理分析其实这块肯定是扯到高并发了,因为分库分表一定是为了支撑高并发、数据量大两个问题的。而且现在说实话,尤其是互联网类的公司面试,基本上都会来这么一下,分库分表如此普遍的技术问题,不问实在是不行...

2020-03-21 15:37:58 614

转载 数据库查寻重复的数据,删除其它重复数据只保留一条最新记录

查找表中多余的重复记录SELECT *FROM peopleWHERE peopleId IN ( SELECT peopleId FROM people GROUP BY peopleId HAVING ...

2020-03-21 15:16:48 675

转载 mysql 建表语法

mysql 建表语法CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (create_definition,...) [table_options] [partition_options]CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_d...

2020-03-21 14:21:00 459

转载 spring事务传递机制原理

首先,我们通过org.springframework.transaction.annotation.Propagation来了解一下spring事务的传播定义:0、REQUIRED(默认):Support a current transaction, create a new one if none exists.支持当前事务,如果没有则创建一个新的1、SUPPORTSSuppo...

2020-03-21 10:38:29 298

转载 HashMap的底层结构和实现原理

**出处: <http://www.cnblogs.com/chengxiao/>本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在页面明显位置给出原文链接。HashMap的底层结构和实现原理**哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存...

2020-03-21 09:54:04 265

转载 Java的内存回收机制

Java的内存回收机制 在Java中,它的内存管理包括两方面:内存分配(创建Java对象的时候)和内存回收,这两方面工作都是由JVM自动完成的,降低了Java程序员的学习难度,避免了像C/C++直接操作内存的危险。但是,也正因为内存管理完全由JVM负责,所以也使Java很多程序员不再关心内存分配,导致很多程序低效,耗内存。因此就有了Java程序员到最后应该去了解JVM,才能写出更高效,充分利用...

2020-03-21 08:48:20 249

转载 理解StackOverflowError与OutOfMemoryError

之前对于StackOverflowError和OutOfMemoryError这2个错误一直理解得不太清楚。就专门去看了下源代码,找出了这2个异常引发的原因。就对应与了相应的例子:1、StackOverflowError源代码解释说:抛出这个错误是因为递归太深.其实真正的原因是因为Java线程操作是基于栈的,当调用方法内部方法也就是进行一次递归的时候就会把当前方法压入栈直到方法内部的方法执...

2020-03-20 23:01:12 233

转载 描述synchronized如何使用,加在静态方法和非静态方法上有什么区别

synchronized的说明一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。二、然而,当一个线程访问object的一个synchronized(this)同步代码块时,另一个线程仍然可以访问该object中的非synchronized(t...

2020-03-20 22:41:23 587

转载 synchronized关键字的4种用法

1.方法声明时使用,放在范围操作符(public等)之后,返回类型声明(void等)之前.这时,线程获得的是成员锁,即一次只能有一个线程进入该方法,其他线程要想在此时调用该方法,只能排队等候,当前线程(就是在synchronized方法内部的线程)执行完该方法后,别的线程才能进入. 例如:publicsynchronizedvoidsynMethod(){...

2020-03-20 22:14:50 435

wechatPay.rar

微信支付接口实现,基于微信官方提供的demo改造后适配自己的项目,需要注意的是微信官方对于沙箱环境的key其实是有时效的,但是官方并没有对沙箱环境的key有效期做明确的描述

2020-09-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除