java相关解决方案
开发无止境,BUG随身行
这个作者很懒,什么都没留下…
展开
-
java-数据库分表:根据UUID(字符串)取模定位分表
一、导读对于数据库来说,数据量的增多简单的处理方式就是分库分表以及读写分离的模式,今天的文章只对分表做下描述,采用取模的方式定位分表下标,大家对取模都熟悉吧,例如5%3=2,取模就是取得是余数2,被除数3代表你要分几张表,取模一个很关键的因素就是除数与被除数必须是数字格式,针对数据库自增长的id是没有问题的,但是针对UUID(字符串)生成的id是无法直接取模的,接下来我会用代码给大家讲解下针对U...原创 2019-03-30 17:32:33 · 5674 阅读 · 3 评论 -
java运算符 与(&)、非(~)、或(|)、异或(^)
1.十进制转二进制原理:给定的数循环除以2,直到商为0或者1为止。将每一步除的结果的余数记录下来,然后反过来就得到相应的二进制了。比如8转二进制,第一次除以2等于4(余数0),第二次除以2等于2(余数0),第三次除以2等于1(余数0),最后余数1,得到的余数依次是0 0 0 1 ,反过来就是1000,计算机内部表示数的字节长度是固定的,比如8位,16位,32位。所以在高位补齐,java中字节...原创 2019-04-24 14:53:32 · 130 阅读 · 0 评论 -
MockMvc详解
★ MockMvc - SpringMVC单元测试的独立测试:一、简介为何使用MockMvc? 对模块进行集成测试时,...转载 2019-06-14 17:00:47 · 353 阅读 · 0 评论 -
TCP的三次握手和四次挥手详解
报文格式图: 序列号seq:占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生;给字节编上序号后,就给每一个报文段指派一个序号;序列号seq就是这个报文段中的第一个字节的数据编号。 确认号ack:占4个字节,期待收到对方下一个报文段的第...转载 2019-06-19 18:46:35 · 181 阅读 · 0 评论 -
Java单例模式及线程安全问题
单例的目的是为了保证运行时Singleton类只有唯一的一个实例,用于一些较大开销的操作。饿汉方式(线程安全) /** 饿汉方式(线程安全) **/ private Singleton(){} private static final Singleton singleton = new Singleton(); public Singleton getSingleton(){ r...原创 2019-06-18 11:06:59 · 251 阅读 · 0 评论 -
mysql存储过程循环、事务以及异常处理示例
1. 简单的循环、事务、异常处理示例-- 创建测试表create TABLE test_table( id int(11), vpoints int(11), PRIMARY KEY (id)) ENGINE=INNODB DEFAULT CHARSET=utf8;-- 删除存储过程DROP PROCEDURE IF EXISTS testProcedure;-- 创建存储过...原创 2019-07-03 14:18:48 · 1420 阅读 · 0 评论 -
Linux下RabbitMq安装教程
RabbitMQ教程1. 创建rabbitmq的安装目录cd /usr/local/mkdir rabbitmqcd rabbitmq2. Erlang:一种通用的面向并发的编程语言下载erlang:wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpmrpm-Erlang包:rp...原创 2019-07-11 20:24:42 · 304 阅读 · 0 评论 -
SpringBoot单文件和多文件上传简单应用
springBoot单文件上传和多文件上传1. 开发工具版本介绍springBoot版本:1.5JDK版本:1.8tomcat版本:7.02. pom配置<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starte...原创 2019-07-25 14:50:08 · 273 阅读 · 0 评论 -
Redis分布式锁的实现
Redis分布式锁的正确实现方式 前言分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细介绍如何正确地实现Redis分布式锁。可靠性首先,为了...原创 2019-04-19 17:17:18 · 163 阅读 · 0 评论 -
Java原子操作类AtomicInteger详解
版权声明:如果您觉得此文对您有帮助,请关注我! https://blog.csdn.net/fanrenxiang/article/details/80623884 为什么需要AtomicInteger原子操作类?对于Java中的运算操作,例如自增或自减,若没有进行额外的同步操作,在多线程环境下就是线程不安全的。num++解析为num=num+1,明显,...原创 2019-04-19 11:46:36 · 160 阅读 · 0 评论 -
Java队列Queue详情
Queue: 基本上,一个队列就是一个先入先出(FIFO)的数据结构Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Deque接 口。Queue的实现没有实现阻塞接口的LinkedList: 实现了java.util.Queue接口和java.util.AbstractQueue接口 内置的不阻塞队列: Prio...原创 2019-04-19 11:19:17 · 431 阅读 · 0 评论 -
mysql导入数据命令Load data详解及示例
一、语法介绍LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE]INTO TABLE tbl_name[FIELDS [TERMINATED BY '\t'] [OPTIONALLY] ENCLOSED BY ''] [ESCAPED BY '\\' ]][LINES T...原创 2019-04-06 11:20:41 · 21573 阅读 · 0 评论 -
PC端百度地理围栏、绘制工具以及判断当前坐标是否再围栏中
一、导读围栏:顾明思议就是利用地图的多个经纬度坐标点画出图形;需求:在地图上画出多个不同的围栏,提交保存到围栏列表(坐标列表),获取用户的经纬度坐标判断是否在围栏中;圆形围栏坐标示例:circle:100.228204_26.885269_100;多边形围栏坐标示例:polygon:100.228204_26.885269;100.243726_26.885269;100.242648_2...原创 2019-04-01 18:07:28 · 1814 阅读 · 0 评论 -
Java线程池ExecutorService和CountDownLatch的简单示例
一、导读CountDownLatch可以保证程序在子线程都执行完毕的情况下再执行主线程。使用方法:对CountDownLatch对象设置初值,每个线程执行完后调用countDown方法,计数器减1,当所有线程都执行完毕后,计数器为0,继续执行主线程逻辑。二、代码示例 package com.hanshimeng.other;import java.util.concurrent.Co...原创 2019-04-09 17:53:38 · 971 阅读 · 0 评论 -
CountDownLatch高并发场景示例
package com.hanshimeng.other;import java.util.concurrent.CountDownLatch;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.atomic.Atomic...原创 2019-04-09 18:00:35 · 325 阅读 · 0 评论 -
java堆,栈,常量池简单易懂
本文来自:longxiaoyan名词解释:1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)3. 堆:存放所有new出来的对象。4. 静态域:存放静态成员(static定义的)5. 常量池:存放字符串常量和基...原创 2019-04-16 16:34:36 · 186 阅读 · 0 评论 -
java通过映射修改String的值
字符串String被设计成immutable(不可改变)的,String的value值也是final类型,如何改变值呢?package com.hanshimeng.other;import java.lang.reflect.Field;public class Test { public static void main(String[] args) throws Exception ...原创 2019-04-16 17:44:52 · 892 阅读 · 0 评论 -
Java核心技术笔记(持续更新中)
一、对java平台的理解1.Write once, run anywhere1、“一次编译、到处运行”说的是Java语言跨平台的特性,Java的跨平台特性与Java虚拟机的存在密不可分,可在不同的环境中运行。比如说Windows平台和Linux平台都有相应的JDK,安装好JDK后也就有了Java语言的运行环境。其实Java语言本身与其他的编程语言没有特别大的差异,并不是说Java语...原创 2019-04-14 17:52:42 · 1657 阅读 · 1 评论 -
java堆(heap)、栈(stack)、堆栈的区别
1.栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共 享,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃...原创 2019-04-15 12:23:46 · 145 阅读 · 0 评论 -
初识布隆过滤器
原文自:大白话布隆过滤器布隆过滤器的应用我们先来看下布隆过滤器的应用场景,让大家知道神奇的布隆过滤器到底能做什么。缓存穿透我们经常会把一部分数据放在Redis等缓存,比如产品详情。这样有查询请求进来,我们可以根据产品Id直接去缓存中取数据,而不用读取数据库,这是提升性能最简单,最普遍,也是最有效的做法。一般的查询请求流程是这样的:先查缓存,有缓存的话直接返回,如果缓存中没有,再去数据库查询...原创 2019-09-23 17:16:45 · 159 阅读 · 0 评论