自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大小鱼鱼鱼鱼鱼

纸上得来终觉浅,绝知此事要躬行。

  • 博客(90)
  • 资源 (3)
  • 收藏
  • 关注

原创 Mysql常用命令

--访问mysql客户端mysql -h 10.161.12.999 -P 4607 -utianyan -p--选择数据库use tian_mon;--显示表名show tables;--修改字段长度alter table bustype_province_show modify column dur_to_quer int(20);--导出mysqldump -h 10.14...

2019-09-26 21:44:13 111

原创 Linux常用命令

1:查看防火状态systemctl status firewalldservice iptables status2:暂时关闭防火墙systemctl stop firewalldservice iptables stop3:永久关闭防火墙systemctl disable firewalldchkconfig iptables off4:重启防火墙sy...

2019-03-21 11:48:17 98

原创 kafka常用命令

kafka版本:0.8.2.0,本人亲测可用。#创建topicbin/kafka-topics.sh --create --topic pinpoint-sql --replication-factor 1 --partitions 3 --zookeeper 127.0.0.1:2181#指定分组下启动消费者./kafka-console-consumer.sh --zookeeper ...

2019-02-15 20:07:30 190

原创 hbase常用操作命令

前言以下命令在hbase1.2.1版本下试验通过。记录常用hbase命令提高工作效率。常用命令使用命令操作时,需要对表名列名带上单引号,否则会被hbase认为是一个变量,会报如下错误:NameError: undefined local variable or method `main2' for #<Object:0x44b21f9f>查看安装版本vers...

2019-02-15 20:05:28 686

原创 mysql添加索引

1.添加PRIMARY KEY(主键索引):ALTER TABLE table_name ADD PRIMARY KEY ( column )2.添加UNIQUE(唯一索引) :ALTER TABLE table_name ADD UNIQUE ( column )3.添加INDEX(普通索引) :ALTER TABLE table_name ADD INDEX index_name (...

2018-12-18 23:02:31 113

原创 微信JSAPI支付对接

JSAPI支付是指商户通过调用微信支付提供的JSAPI接口,在支付场景中调起微信支付模块完成收款。

2023-10-27 17:03:08 393

原创 微信native支付对接

Native支付是指商户系统按微信支付协议生成支付二维码,用户再用微信“扫一扫”完成支付的模式。

2023-10-27 16:00:14 215

原创 synchronized锁的优化过程

    在java并发中synchronized一直是一个重要的角色,有人称它为重量级锁,但在jdk1.6之后synchronized得到了优化,引入了偏向锁和轻量级锁,避免线程上下文切换带来的耗时,所以看起来就没有那么重了。对象的组成    因synchronized锁信息都是保存在对象头部中,故而先从对象头入手...

2020-03-17 19:15:29 378

原创 Java内存模型与volatile不得不说的秘密

    java内存模型(Java Memory Model,JMM)是java虚拟机规范定义的,用来屏蔽掉java程序在各种不同的硬件和操作系统对内存的访问的差异,这样就可以实现java程序在各种不同的平台上都能达到内存访问的一致性。    说到java内存模型,首先要说一下及计算硬件方面的知识。CPU与主内存...

2020-03-14 19:48:18 266

原创 Java多线程:深入理解synchronized

一、概述synchronized关键字是java应用中解决线程安全必不可少的,线程安全是并发编程中的重要关注点,造成线程不安全的诱因实质就是共享数据,以及多线程操作共享数据,为了解决多线程操作共享数据的问题,需要保证在同一时刻只有一个线程可以操作共享数据,其它线程处于等待状态,只有操作共享数据的线程执行结束,其他线程才可以进行,这种关系就是互斥锁,需要用到synchronized关键字, syn...

2019-12-26 18:17:13 273 1

原创 Java虚拟机:垃圾收集器与内存分配策略

一、对象  堆中几乎存放着Java世界中所有的对象实例,垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象有哪些还“存货”着,哪些已经“死去”(即不可能再被任何途径使用的对象)。1.1 引用计数算法  判断对象是否存活的算法是这样的:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器都为0的对象就是不可能再被使用的。  客...

2019-12-18 16:51:47 142

原创 Java虚拟机:实战OutOfMemoryError异常

  在Java虚拟机规范的描述中,除了程序计数器外,虚拟机内存的其它几个运行时数据区域都有发生OutOfMemoryError(OOM)一、Java堆溢出/** * @author: hs * @Date: 2019/12/11 10:25 * @Description: * -Xms30m -Xmx30m -XX:+PrintGCDetails -XX:SurvivorRatio=8...

2019-12-11 15:16:52 278

原创 SpringBoot学习:整合Hbase

所需pom依赖<!--hbase依赖--><hbase-client.version>2.0.0</hbase-client.version><lombak.version>1.16.10</lombak.version><dependency> <groupId>org.apache.hbas...

2019-12-09 18:39:15 499

原创 Redis:缓存穿透

缓存穿透缓存穿透就是查询一个数据库一定不存在的数据,首先根据key去查询缓存,若缓存中不存在或者缓存已经过期就去查询数据库,把查询出来的结果放入缓存,如果为空则不放入缓存。public Goods getGoods(@PathVariable("id") Integer id) { //查询缓存 Object obj = redisTemplate.opsFo...

2019-12-09 15:24:02 135

原创 SpringBoot学习:整合redis配置

yaml文件配置spring: redis: database: 0 # 数据储存的分片位置 cluster: max-redirects: 3 # 获取失败 最大重定向次数 nodes: - 10.16.1.238:8996 - 10.16.1.239:8991 ...

2019-12-09 14:20:55 404

原创 Java虚拟机:内存模型

内存模型Java内存模型(Java Memory Model ,JMM)就是一种复核人内存模型规范的,屏蔽了各种硬件和操作系统的访问差异的,保证了Java程序在各种平台下对内存的访问都能保证效果一致的机制及规范。JMM的主要目的是解决由于多线程通过共享内存进行通信时,存在的本地内存数据不一致、编译器会对代码指令重排序、处理器会对代码乱序执行带来的问题。可以保证并发编程场景中的原子性、可见性和有...

2019-12-05 18:00:19 226

原创 Jest scroll查询

@Testpublic void testSerialScroll() throws IOException { BoolQueryBuilder builder = QueryBuilders.boolQuery(); SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder().size(SCROLL...

2019-11-27 13:05:58 1095

原创 Java虚拟机:类加载器

类加载过程类的加载指的时将类的.class文件的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后再内存中创建一个java.lang.Class对象,用来封装类在方法区的数据结构。加载.class文件的方式:从本地系统中直接加载通过网络下载.class文件从zip、jar等归档文件中加载.class文件从专有数据库中提取.class文件将java源文件动态编译为.clas...

2019-11-26 16:14:40 163

原创 Scala篇:方法默认参数和变长参数

scala在方法型参中可变参数和默认参数的方法object ScalaTest { def main(args: Array[String]): Unit = { sayHello("zs") println(sum(1, 2, 3, 4, 5, 6)) } /** * 默认参数 * * @param name * @param f...

2019-11-13 19:58:48 269

原创 Java8:HashMap源码分析(实现原理)

HashMap是Java开发中常用的数据结构,了解它的内部实现有助于更好的使用它,Java8中的HashMap由三种数据结构组成:数组、链表、红黑树内部存储HashMap的内部存储是一个数组(bucket),数组的元素Node实现了是Map.Entry接口(hash, key, value, next),next非空时指向定位相同的另一个Entry,如图:内部主要特点:使用哈希表进行数...

2019-11-06 17:37:16 172

原创 Spark:spark初探wordCount

一、准备工作scala-sdk安装下载地址:scala-2.11.2,下载完成配置SCALA_HOMEmaven坐标 <properties> <spark.version>2.4.3</spark.version> <scala.version>2.11.2</scala.version> </pro...

2019-11-05 17:35:57 109

原创 Scala篇:整合springboot

项目结构pom文件<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.3.RELEASE&...

2019-10-31 11:40:40 2833 3

原创 JAVA:手动实现简单的HashMap

package com.staryea.ocmbuisidserver.pojo;/** * @des 自定义简单的HashMap */import java.util.LinkedList;public class MyMap { // 链表数字 private LinkedList[] arr = null; // 大小 int size; ...

2019-09-16 09:33:16 134

Redis:缓存穿透、缓存击穿、缓存雪崩

Redis缓存的使用极大提高了应用程序的效率和性能,尤其是数据查询方面,但同时它也带来了一些问题,最致命的问题就是数据一致性的问题,严格意义上讲,这个问题无解,如果对数据一致性要求特别高的话,那么就不能使用缓存。...

2019-08-16 12:03:17 104

原创 ElasticSearch:分页查询(jest操作)

两种做法:深度分页和浅分页分页类@Data@NoArgsConstructor@AllArgsConstructor@Accessors(chain = true)public class Page<T> { private int pageSize = 10; //每页显示条数 private int totalCount; //总条数 pri...

2019-07-11 18:01:53 2412 2

原创 微服务:Redis高并发下分布式锁实现

传统的软件公司,依然坚持用着三层架构,单体的应用程序可以使用synchronized解决高并发下秒杀功能,这样程序在并发下访问效率下降,若用nginx反向代理启用分布式应用,synchronized则实现不了分布式锁,如何解决?利用redis中的setnx可实现高并发下分布式锁。具体要点和细节记录在代码注释中,代码如下://简单的秒杀功能: private final StringRedis...

2019-06-19 18:06:58 1400

原创 书籍推荐

https://blog.csdn.net/panjin72/article/details/81078834http://blog.didispace.com/freebooks/

2019-06-13 12:11:42 123

原创 SpringBoot学习:接口鉴权JWT

import static org.apache.commons.lang3.StringUtils.defaultIfBlank;import static org.apache.commons.lang3.math.NumberUtils.toInt;import static org.apache.commons.lang3.math.NumberUtils.toLong;/**...

2019-06-13 12:03:55 5181

原创 Apache-commons:lang3.SystemUtils源码

package org.apache.commons.lang3;//源码import java.io.File;public class SystemUtils { private static final String OS_NAME_WINDOWS_PREFIX = "Windows"; private static final String USER_HOME_KE...

2019-06-10 21:15:22 744

原创 Apache-commons:codec编解码(Base64 | MD5)

@Testpublic void base64() throws Exception{ String str="中国合伙人"; byte[] encodeBase64 = Base64.encodeBase64(str.getBytes()); System.out.println(new String(encodeBase64)); byte[] bytes =...

2019-06-10 20:34:47 1709

原创 Apache-commons:collections4.CollectionUtils工具类

public static void main(String[] args) { List<Integer> in1 = Arrays.asList(1, 2, 3, 4, 4, 5); List<Integer> in2 = Arrays.asList(4, 5, 6); //集合不为空判断 boolean notEmpty = Colle...

2019-06-10 19:35:36 2902

原创 Spring:AnnotationUtils工具类与注解参数说明

getAnnotation: 从某个类获取某个annotationfindAnnotation: 从类或方法中查找某个annotation。isAnnotationDeclaredLocally: 验证annotation是否直接注释在类上而不是集成来的。isAnnotationInherited: 验证annotation是否继承于另一个class。getAnnotationAttri...

2019-06-10 17:15:46 9526

原创 Apache-commons:lang3.builder包

CompareToBuilder – 用于辅助实现Comparable.compareTo(Object)方法;EqualsBuilder – 用于辅助实现Object.equals()方法;HashCodeBuilder – 用于辅助实现Object.hashCode()方法;ToStringBuilder – 用于辅助实现Object.toString()方法;ReflectionT...

2019-06-10 17:02:10 1062

原创 Kafka:安全认证SASL

kafka安装部署省略…首先需要在config目录下新建文件kafka_server_jaas.conf,配置如下KafkaServer { org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="admin" user_admin...

2019-06-04 20:53:19 1147

原创 Java8:新Map方法操作

如果map不是null,忽略以下方法。 List<User> userList = Lists.newArrayList(); @Before public void initTest() { List<Address> addressList = Lists.newArrayList(); addressList.add...

2019-05-31 15:33:06 2798

原创 Java8:stream Api与Collectors数据收集器

首先流是一个抽象的概念,动态的,具有方向的,代表着数据的一种状态;流是数据的渠道。因此,流代表了一个对象序列。流操作数据库,如数组或者集合。流本身不存储数据,而是移动数据,再移动过程中可能会对数据执行过滤、排序或者其他操作。然而,一般来说,流操作本身不修改数据源。例如,对流排序不会修改数据源顺序,相反,对流排序会创建一个新流,其中包含排序后的结果。流api定义了几个流接口,包含在java.ut...

2019-05-27 20:16:42 389

原创 Java多线程:线程池的使用

以下摘自阿里开发手册原话线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式,这样的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险。 说明:Executors各个方法的弊端:1)newFixedThreadPool和newSingleThreadExecutor:  主要问题是堆积的请求处理队列可能会耗费非常大的内存,甚至OOM。2)...

2019-05-12 16:13:55 1244

原创 SpringBoot学习:全局异常处理器

实际项目开发中,程序往往会发生各式各样的异常情况,特别是身为服务端开发人员的我们,总是不停的编写接口提供给前端调用,分工协作的情况下,避免不了异常的发生,如果直接将错误的信息直接暴露给用户,这样的体验可想而知,如果这接口是给第三方调用,估计别人会暴走。采用try-catch的方式笨方法不推荐使用,增大了代码量,异常过多时,很难管理业务代码和异常的匹配springboot提供解决方案...

2019-05-08 13:33:55 212

原创 SpringBoot学习:本地锁解决重复提交问题

自定义注解/** * @author: hs * @Date: 2019/4/11 18:14 * @Description: */@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)@Documented@Inheritedpublic @interface LocalLock { /**...

2019-04-27 20:13:12 536

原创 SpringBoot学习:接口跨域配置

首先引入yml自动提示所需j依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <!--<optional>...

2019-04-26 20:47:33 302

mobaxterm连接工具

mobaxterm连接工具

2019-01-20

web前端API

web前端参考手册。

2019-01-20

SQLyog10-MySQL5.1

数据库相关,mysql5.1,sqlyog10,包含32位和64位!

2018-10-18

空空如也

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

TA关注的人

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