自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(101)
  • 收藏
  • 关注

转载 MySQL数据类型大全

③在不必要的时候避免检索大型的BLOB或TEXT值。在某些环境中,如果把这些数据列移动到第二张数据表中,可以让你把原数据表中 的数据列转换为固定长度的数据行格式,那么它就是有意义的。2.char(n) 固定长度,char(4)不管是存入几个字符,都将占用4个字节,varchar是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),所以varchar(4),存入3个字符将占用4个字节。从上面的例子中我们看到c1列的值由131072.32变成了131072.31,这就是浮点数的不精确性造成的。

2024-07-24 22:51:27 31

转载 幂等问题探讨

对于开发人员来说,是一个跟语言无关的公共问题。本文分享了一些解决这类问题非常实用的办法,绝大部分内容我在项目中实践过的,给有需要的小伙伴一个参考。没错,这些都是幂等性问题。最近无意间获得一份BAT大厂大佬写的刷题笔记,一下子打通了我的任督二脉,越来越觉得算法没有想象中那么难了。[BAT大佬写的刷题笔记,让我offer拿到手软](接口幂等性是指用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。那么我们要如何保证接口幂等性?本文将会告诉你答案。

2024-07-23 23:02:49 22

原创 java 静态变量,静态代码块,代码块,构造函数,普通变量初始化顺序

顺序如标题:静态变量,静态代码块,代码块,构造函数,普通变量初始化顺序。

2024-07-04 02:45:00 133

转载 一文搞懂redis缓存击穿、穿透、雪崩!

如果业务层的确要求有些数据同时失效,可以在用 EXPIRE 命令给每个数据设置过期时间时,给这些数据的过期时间增加一个较小的随机数(例如,随机增加 1~3 分钟),这样一来,不同数据的过期时间有所差别,但差别又不会太大,既避免了大量数据同时过期,同时也保证了这些数据基本在相近的时间失效,仍然能满足业务需求。时间一到,redis 数据全部失效,大量并发前来查询,在 service 服务层查询时,设置一个短暂的随机延迟时间,这样,少量的请求,先查询,就会读数据库,然后存入 redis;像这样的业务应该怎么办?

2024-06-04 18:00:00 23

原创 JVM-基础

XX:MaxMetaspaceSize来设定永久代最大可分配空间,值为-1 (理解为无效大,约束于内存大小)-XX:MaxPermSize来设定永久代最大可分配空间,32位是64m,64位是82m。通过-XX:MetaspaceSize 来设置永久代初始分配空间,默认值是21m。通过-XX:PermSize 来设置永久代初始分配空间,默认值是20.75m。

2023-11-24 12:32:43 347

原创 JVM核心参数图解-整理

在老年代,对象比较稳定,MajorGC不会被频繁触发。在进行MajorGC前,JVM会进行一次MinorGC,在MinorGC后对象仍然出现在老年代且当老年代空间不足或无法找到足够大的连续内存空间分配给新创建的大对象时,会触发MajorGC进行垃圾回收,释放JVM的内存空间。MajorGC采用标记清除算法,该算法首先会扫描所有对象并标记存活的对象,然后回收未被标记的对象,并释放内存空间。每个线程都有自己一个虚拟机栈,每次执行一个方法,就会把方法的栈帧压入栈中,方法执行完,该栈帧就会从线程里的栈出栈。

2023-09-13 12:10:39 438

转载 redis集群节点宕机

备注:文章转载为了方便自己内容查看。链接:https://www.cnblogs.com/hmxs/p/12101921.htmlredis集群是有很多个redis一起工作,那么就需要这个集群不是那么容易挂掉,所以呢,理论上就应该给集群中的每个节点至少一个备用的redis服务。这个备用的redis称为从节点(slave)。1、集群是如何判断是否有某个节点挂掉  首先要说的是,每一个节点都存有这个集群所有主节点以及从节点的信息。它们之间通过互相的ping-pong判断是否节点可以连接上。如果有

2021-01-07 11:07:52 2698

转载 Redis集群windows搭建redis集群并增加节点和删除节点

一、跟着先windows搭建redis集群链接:https://pan.baidu.com/s/4dNDUDXJ二、增加、删除节点转载链接:https://www.cnblogs.com/hopeofthevillage/p/11535683.html本文主要是承接上一篇文章Redis集群的离线安装成功以后,我们如何进行给集群增加新的主从节点(集群扩容)以及如何从集群中删除节点(集群缩容),也就是集群的伸缩,集群伸缩的原理是控制虚拟槽和数据在节点之间进行移动,通过实际操作来整理一下集群的伸缩

2021-01-05 20:30:18 2430

原创 命令行打包可运行jar包来验证数据库连通性

备注:环境是在个人笔记本。在linux环境对应调节。写java类 (都是我的库j2ee,表user,自己对应修改) import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;public class MysqlTest { public static void main(String[] args) {

2020-12-21 22:10:38 420

转载 uml图六种箭头的含义

本文是粘贴两个文章总结来的,单纯为了明白知识点。https://blog.csdn.net/wglla/article/details/52225571https://www.cnblogs.com/moonlightL/p/7265417.html在看一些技术博客的时候,经常会见到博客里画上很多uml图。因为经常会被这几种表达关系的箭头搞混,这里我就把常见的6种箭头表达的含义理一下。泛化概念:泛化是一种一般与特殊、一般与具体之间关系的描述,具体描述建立在一般描述的基础之上,..

2020-12-17 07:28:44 1327

转载 Permission denied (publickey). fatal: Could not read from remote repository.

转载原文链接:http://www.cnblogs.com/wmr95/p/7852832.html在github上下载tiny face的的源代码的时候,遇到git clone命令为:git clone --recursive git@github.com:peiyunh/tiny.git  而当我在ternimal下执行这条语句的时候,出现错误:  Permissiondenied (publickey).  fatal:Could not read from remote reposi

2020-12-07 23:39:46 2360

转载 用idea搭建SSM项目,原来这么简单

按照文章内容进行尝试可以成功。原文链接:https://www.cnblogs.com/yeya/p/10320885.html目录前言 软件环境 创建项目 数据库文件 配置文件 pom.xml log4j.properties jdbc.properties applicationContext.xml spring-mvc.xml web.xml 运行项目 编写代码前言前阵子突发奇想,想学习下SpringMVC的源码,于是打算用idea.

2020-11-25 21:46:36 514

转载 dubbo和zookeeper的关系

转载前言:网络上很多教程没有描述zookeeper和dubbo到底是什么关系、分别扮演了什么角色等信息,都是说一些似是而非的话,这里终于找到一篇文章,比较生动地描述了注册中心和微服务框架之间的关系,以及他们之间的合作分工。下面附上我读完之后的理解:dubbo是一个远程调用服务的分布式框架,可以实现远程通讯、动态配置、地址路由等等功能。比如在入门demo里的暴露服务,使得远程调用的协议可以使用dobbo协议(dubbo://x.x.x.x)或者其它协议,可以配置zookeeper集群地址,实现软负

2020-11-25 10:56:29 1241

原创 java 调用python实现shell脚本上传到远端服务器,并执行这个shell脚本。

java 调用python实现shell脚本上传到远端服务器,并执行这个shell脚本。1.java代码 备注:调用python传人第一个参数一定是自己python的位置,否则使用idea的默认python,可能输出为null.import java.io.IOException;import java.io.InputStreamReader;import java.io.LineNumberReader;public class RuntimeFunction { public

2020-11-19 23:42:54 719 2

转载 shell脚本中set -e作用

最近学习shell脚本想到一个问题,如果脚本中出现了一条异常语句,甚至可以影响整个脚本的使用,那么是否有一旦出现问题就可以及时停止的方法呢?在shell脚本中set命令就可以轻松实现。set命令的-e参数,linux系统自带的说明是:"Exit immediately if a simple command exits with a non-zero status.",也就是说,在"set -e"之后出现的代码,一旦出现了返回值非零,整个脚本就会立即退出,那么就可以避免一些脚本的危险操作。实验如下:

2020-10-09 18:29:01 505

转载 Shell脚本调试选项

Shell本身提供一些调试方法选项:-n,读一遍脚本中的命令但不执行,用于检查脚本中的语法错误。 -v,一边执行脚本,一边将执行过的脚本命令打印到标准输出。 -x,提供跟踪执行信息,将执行的每一条命令和结果依次打印出来。使用这些选项有三种方法(注意:避免几种调试选项混用)1.在命令行提供参数:$sh -x script.sh 2.脚本开头提供参数:#!/bin/sh -x 3.在脚本中用set命令启用or禁用参数:其中set -x表示启用,set +x表示禁用。...

2020-10-09 12:18:13 255

转载 Java 多线程之悲观锁与乐观锁

一、悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。Java中synchronized和ReentrantLock等独占锁就是悲观锁思想的实现。二、乐观锁总是假设最好的情况,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更

2020-09-29 18:45:08 574

转载 用位运算判断一个数是不是奇数?

原理一个数如果是奇数的话,那么他的二进制最后一位一定为1. 比如 3, 他的二进制表示为 11 而 1 的二进制为 01 ,两个相与,则为1. 而偶数的话则就为0了。 11 & 01 01代码入下:import java.util.Scanner;public class isodd {public static void main(String args[]) {Scanner scan =new Scanner(System.in);Sys.

2020-09-24 22:35:03 427

原创 商城中关于SPU和SKU区分

一、基本概念SPU (Standard Product Unit) 标准化产品单元。SKU(Stock Keeping Unit)库存单位。二、描述区分类似淘宝进去的一个单品,有不同配置,不同颜色,不同套餐。这个产品叫做SPU。下单选择的大红色,128G,标准套餐的mate30手机,这个选择出来具体的产品交SKU,基本存储单位。比较标准说法单款单色单码。一个SKU下面可以有多个产品,红色M吴亦凡同款的某款毛衣,不可能就一件。...

2020-06-03 22:37:04 1121

转载 转载的——mysql插入表中的中文显示为乱码或问号的解决方法

转载来自:https://www.cnblogs.com/houqi/p/5713176.html 方便自己查看就把大佬的内容转载过来了,没有博园账号,只能把转载标在最前面,希望大佬见谅。1.我的计算机配置: windows系统(linux没试过) mysql 5.6    mysql中文显示乱码或者问号是因为选用的编码不对或者编码不一致造成的,我是通过修改my.ini配置文...

2019-04-12 14:58:54 321

转载 Nginx服务器之负载均衡策略(6种)

看到别人总结,转载。一、关于Nginx的负载均衡  在服务器集群中,Nginx起到一个代理服务器的角色(即反向代理),为了避免单独一个服务器压力过大,将来自用户的请求转发给不同的服务器。详情请查看我的另一篇博客。二、Nginx负载均衡策略  负载均衡用于从“upstream”模块定义的后端服务器列表中选取一台服务器接受用户的请求。一个最基本的upstream模块是这样的,模块...

2019-03-31 16:50:53 319 1

转载 线程中join()的用法

转载来源:线程中join()的用法  Thread中,join()方法的作用是调用线程等待该线程完成后,才能继续用下运行。public static void main(String[] args) throws InterruptedException { System.out.println("main start"); Threa...

2019-01-21 10:48:08 13856

转载 java中值传递的三种情况,形参的改变不影响实参

转发来自:https://blog.csdn.net/qq_21918145/article/details/79687435 。个人保存便于查看public static void main(String[] args) {//第一种基本数据类型int a= 1;int b= 2;    System.out.println("a:"+a+"---"+"b:"+b);change...

2019-01-15 15:53:33 2713

转载 Java中的集合类与对象的判空(转载修改部分内容)

Java中的集合类与对象的判空(转载修改部分内容)路径:https://blog.csdn.net/yuzhengfei7/article/details/77648375一、String 对象的判空a.判定空对象:String s = null;定义:    空对象是指定义一个对象s,但是没有给该对象分配空间,即没有实例化该对象,因此,空对象在调用所有对象方法时候都会抛出异常...

2018-11-01 14:32:11 376

转载 进程和线程的状态及转换

线程从创建、运行到结束总是处于下面五个状态之一:新建状态、就绪状态、运行状态、阻塞状态及死亡状态。    1.新建状态(New):         当用new操作符创建一个线程时, 例如new Thread(r),线程还没有开始运行,此时线程处在新建状态。 当一个线程处于新生状态时,程序还没有开始运行线程中的代码     2.就绪状态(Runnable)       

2017-10-30 21:46:41 2485

转载 spring中应用反射实例化bean

一  反射源头Class类对类的概念我们已经非常熟悉了。比如可以有Student这个类,Person这个类。但是我们要知道,有一个叫Class的类,它是反射的源头。 正常方式:通过完整的类名—>通过new实例化—>取得实例化对象反射方式:实例化对象—>getClass()方法—>通过完整的类名 一个简单的例子: package cn.

2017-10-16 21:56:08 2048

转载 java中String、StringBuffer、StringBuilder的区别

java中String、StringBuffer、StringBuilder是编程中经常使用的字符串类,他们之间的区别也是经常在面试中会问到的问题。现在总结一下,看看他们的不同与相同。1.可变与不可变  String类中使用字符数组保存字符串,如下就是,因为有“final”修饰符,所以可以知道string对象是不可变的。    private final char valu

2017-09-29 16:59:21 211

转载 java中的==、equals()、hashCode()源码分析

在java编程或者面试中经常会遇到 == 、equals()的比较。自己看了看源码,结合实际的编程总结一下。1. ==   java中的==是比较两个对象在JVM中的地址。比较好理解。看下面的代码:1 public class ComAddr{2 public static void main(String[] args) throws Exception {

2017-09-29 16:47:15 254

转载 总结Java垃圾回收器的方法和原理

1. 垃圾回收只与内存有关在Java中,我们new完对象之后,垃圾回收器负责回收无用的对象占据的内存资源。这与C++不同,在C++中,准许使用局部对象,回收对象时候,需要用到finalize()析构函数。C++的对象创建在堆栈中,而Java对象创建在堆中,所以我们创建完对象之后,Java的垃圾回收器在堆中,会自动帮我们回收垃圾,至于何时回收垃圾,我们不得而知了。2.垃圾回收用到的方

2017-09-29 16:16:53 466

转载 Java内存溢出和内存泄露

虽然jvm可以通过GC自动回收无用的内存,但是代码不好的话仍然存在内存溢出的风险。最近在网上搜集了一些资料,现整理如下: 一、为什么要了解内存泄露和内存溢出? 1、内存泄露一般是代码设计存在缺陷导致的,通过了解内存泄露的场景,可以避免不必要的内存溢出和提高自己的代码编写水平; 2、通过了解内存溢出的几种常见情况,可以在出现内存溢出的时候快速的

2017-09-27 12:44:17 267

转载 深入理解Java中的final关键字

Java中的final关键字非常重要,它可以应用于类、方法以及变量。这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使用final关键字的实例。final经常和static一起使用来声明常量,你也会看到final是如何改善应用性能的。final关键字的含义?final在Java中是一个保留的关键字,可

2017-09-25 21:55:24 210

转载 Java中传值与传引用的三种情况

https://wenku.baidu.com/view/0df8bac80029bd64783e2c91.html

2017-09-25 21:43:47 358

转载 [Java] 组合与继承的区别

组合和继承都允许在新的类中放置子对象,组合是显式地这样做,而继承是隐式地做。那两者之间的区别是怎样的呢?又该如何选择呢?很多人对组合理解地还不是很好,所以我们先来理解一下组合:组合技术通常用于想在新类中使用现有类的功能而非它的接口这种情况。以car对象举例:[java] view plain copy

2017-09-25 20:15:16 308

转载 多线程ExecutorService中submit和execute区别

多线程ExecutorService中submit和execute区别介绍submit和execute都是 ExecutorService 的方法,都是添加线程到线程池中。区别 submit 有返回值 返回future , execute没有submit 返回值 future 用处 可以执行cancle方法,取消执行 可以通过get()方

2017-09-23 20:33:14 604

原创 Java 写有n个人围成一圈,顺序排号,从第一个人开始报数(从1~3报数), 凡报到3的人退出圈子,问最后留下的人原来排在第几号。

代码如下:package tests;import java.util.ArrayList;import java.util.List;import java.util.Scanner;/** * 题目描述, *Java 写有n个人围成一圈,顺序排号,从第一个人开始报数(从1~3报数), *凡报到3的人退出圈子,问最后留下的人原来排在第几号。 *

2017-09-22 10:06:43 2997

转载 数据库ACID和CAP理论

1、ACID是RDBMS的理论基石;     A原子(Atomiclty )事务原子性;     C一致(Consistency)插入一张表数据,会影响其它(索引/其它表)等一致。     I 隔离性(ioslation)事务独立,封闭;隔离性强度;     D持久性(Durabilty)数据永存。      对应分布式数据库,某些业务不需全部一致性事务,可

2017-09-21 20:41:00 520

转载 JAVA集合类汇总

一、集合与数组数组(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用。集合(只能存储对象,对象类型可以不一样)的长度可变,可在多数情况下使用。二、层次关系如图所示:图中,实线边框的是实现类,折线边框的是抽象类,而点线边框的是接口Collection接口是集合类的根接口,Java中没有提供这个接口的直

2017-09-20 17:20:33 194

转载 Java系列之JDBC和ODBC之间的区别与联系

JDBC简介JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,它是Java十三个规范之一。可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。ODBC简介

2017-09-20 16:52:56 360

转载 深入理解Java的接口和抽象类

深入理解Java的接口和抽象类  对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。下面是本文的目录大纲:  一.抽象类  二.接口  三.抽象类和接口的区别  若

2017-09-19 22:12:03 337

转载 Java中的static关键字解析

Java中的static关键字解析  static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一。下面就先讲述一下static关键字的用法和平常容易误解的地方,最后列举了一些面试笔试中常见的关于static的考题。以下是本文的目录大纲:  一.static关键字的用途  二.static关键字的误区  三.常见

2017-09-19 19:43:14 321

空空如也

空空如也

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

TA关注的人

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