自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 资源 (1)
  • 收藏
  • 关注

原创 Mysql 性能优化真实案例(面试可用)

项目背景系统包含多个直播平台数据斗鱼,虎牙,QQ音乐等多个业务的数据,通过数据分析重组计算并按照一定数据格式返回给前端以多种数据表格形式展示包括直线图,柱状图,饼状图,表格等。数据权限和操作权限按照用户分配角色,角色分配权限的方式设计。数据上传下载利用阿里巴巴插件进行快速导入,导出。我主要负责项目优化对百万数据量的导入、数据清洗、查询、分析、统计。优化一 选择更合适的存储引擎针对这个项目是读多写少场景,我这里把原来MYSQL 默认的搜索引擎INNODB 改为 MYISAM 。INNODB 和

2021-05-22 20:44:57 807 1

原创 Java synchronized锁升级过程简述(面试可用)

java 锁升级流程Synchronized 的锁升级流程是这样:无锁 ----> 偏向锁 ----> 轻量级 锁 ----> 锁自旋 ----> 重量级锁偏向锁 偏向锁,简单的讲,就是在锁对象的对象头中有个ThreaddId字段,这个字段如果是空的,第一次获取锁的时候,就将自身的ThreadId写入到锁的ThreadId字内,将锁头内的是否偏向锁的状态位置1.这样下次获取锁的时候,直接检查ThreadId是否和自身线程Id一致,如果一致,则认为当前线程已

2021-05-06 23:00:51 5976 15

原创 Java wait 方法和sleep方法的区别?,start方法和run方法,哪一个是创建启动一个线程?

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码

2021-04-17 20:21:02 273 2

原创 Java 多线程thread、Runnabel、Callable接口

实现方式一实现 Runnable 接口,重写run方法package com.linlijun.test;public class MultiThreadOne implements Runnable{ @Override public void run() { System.out.println("创建线程成功"); }}把实现类传入 thread 构造方法中,调用start 方法,创建线程package com.linlijun;imp

2021-04-13 23:06:49 264 3

原创 Mybatis 怎么返回立即返回新增数据的id 自增id

Mybatis 怎么返回新增数据的id问题描述:业务中需要用到新插入数据的自增id,但默认的mybatis插入语句并没有返回,这时候你只需在mapper文件的insert 语句中添加这两个属性,自增id就会自动注入新增的对象中 **keyColumn="id" keyProperty="id"**解决方案: <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.macro.mall.model.A

2020-11-29 10:47:33 1397

原创 怎么用户-角色-权限设计思想

文章目录1. 用户2. 角色3. 权限1. 用户2. 角色3. 权限

2020-04-03 11:50:07 504

原创 Springboot excel导入 EasyPOI 双表头的excel 导入数据

在工作中难免会遇到excel的数据导入。但是有些时间Excel的表头却不那么友好的。直接看图这里就出现双表头的头的导入第一步 :导包maven <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-base</ar...

2020-02-24 15:53:43 4305 1

原创 word 怎么设置多级列表

直接先看效果图:在 开始---》里面找到多级列表首先定义的是一级标题也就是 第n章的定义二级标题:定义三级标题修改标题的样式...

2019-05-06 15:35:43 2950

原创 word 如何设置页码?分页?分节?

在写文档的时候,无论是毕业论文,还其他文档,都难免会用到页码?但是往往页码不是从文档的第一页开始的,一般都有封面,目录等是不需要计算页码。那在word中该如何进行设置页码?除去封面和目录,页码从第一章开始:第一步先分节查看是否插入成功 点击文件----》选项-----》显示 -----》显示所有格式标记设置页脚的时候 一定要点击取消到链接到前一条页眉如...

2019-05-05 08:52:38 8916

原创 网络原理面试题-TCP

这里我想先给结论来引出问题的方法来介绍TCP/IP这两种协议。 TCP是面向连接的、可靠的的流协议。1.什么是面向连接? 连接:是指各种设备、线路、或网络中进行通信的两个应用程序为了相互传递信息而专有的、虚拟的通信线路。 一旦建立连接,进行通信的应用程序只使用这个虚拟的通信线路发送和接受数据,就可以保障信息的传输,TCP则负责控制连接的建立、断开、保持等管理工作。...

2019-05-04 16:54:39 1053

原创 java 重建二叉树(前序和中序)

案例:给定两个数组,一个为二叉树的前序遍历,另一个为二叉树的中序遍历,还原二叉树前序的作用就是确定根节点,中序可以根据前序的根节点确定该根节点的左右节点;使用递归的方法实现public class RebuildBinaryTree{ // 二叉树数据结构 public static class Tree{ int val; Tree left; ...

2019-05-03 10:42:59 282

原创 java 大数相乘(数组方法实现)

栗子:987654321 乘以 11public class Main{ public static void main(String[] args) { int[] sum = new int[50]; sum[sum.length-1] = 1; // 默认最后一个为 1 int n = 100; // 100...

2019-05-02 10:44:25 964

原创 java 验证二叉搜索树

Given a binary tree, determine if it is a valid binary search tree (BST).Assume a BST is defined as follows:The left subtree of a node contains only nodes with keys less than the node's key. The ...

2019-05-01 10:04:25 346

原创 java 二叉树的最大深度

二叉树的最大深度Given a binary tree, find its maximum depth.The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.Note:A leaf is a node with...

2019-05-01 09:39:58 532

原创 java 判断环形链表

环形链表Given a linked list, determine if it has a cycle in it.To represent a cycle in the given linked list, we use an integer pos which represents the position (0-indexed)in the linked list where ...

2019-04-28 21:09:44 777

原创 java 回文链表四

回文链表Given a singly linked list, determine if it is a palindrome.Example 1:Input: 1->2Output: falseExample 2:Input: 1->2->2->1Output: trueFollow up:Could you do it in O(n)...

2019-04-28 21:04:25 242

原创 Java 合并两个有序链表

合并两个有序链表Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.Example:Input: 1->2->4, 1->3->4...

2019-04-28 19:30:55 1339 2

原创 Java 反转链表

反转链表反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?迭代法:/** * Definition for singly-linked list. * public class...

2019-04-27 21:19:40 284

原创 Java 删除链表的倒数第N个节点

1. 删除链表的倒数第N个节点给定一个链表,删除链表的倒数第n个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n保证是有效的。进阶:你能尝试使用一趟扫描实现吗?/** * Defini...

2019-04-27 20:47:38 345

原创 java集合框架详解

首先,我想先给一张集合的整体框架图,这张图并不是最详细的图,只是列出比较常见的接口和使用的类1. Collection接口是集合的根接口,Java中没有提供这个这个接口的直接实现类,但是却让其继承产生了两个接口,就是Set和List;Set中不能包含重复元素且是无序的,List中元素可以重复且有序2. Map是java.util包中的另一个接口,他和Collection没有关系,是相互...

2019-04-02 20:17:13 413

原创 String 、StringBuffer和StringBuilder 的区别?

1. String 、StringBuffer和StringBuilder 的区别?相同点:都是可以用来存储字符串的对象(String和StringBuffer是线程安全的)不同点: String是一个字符串常量,即不可变对象;(每一次赋值的时候,如果常量池中找不到,就会重新生成一个新的对象) StringBuffer是一个可变的并且...

2019-03-31 14:22:22 129

原创 最大子序列和(动态规划)

给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释:连续子数组[4,-1,2,1] 的和最大,为6。根据题意,我们必须明确,答案是一个 连续的最大和子数组,它和最大上升子序列是不同的。一般来说过,只要一旦判断题目是有关动态规划的题,第一步就是...

2019-03-12 12:59:55 27519 12

原创 补码的作用

补码的作用 :避免零在二进制中的歧义。另一个好处就是方便运算,所有运算都能用加法运算器来实现,不再需要减法运算器。其实在计算机中,所有的减法操作都被转化为加法操作,如果想要深入研究,可以看看计算机组成原理举个简单的例子:正数的补码和反码、原码都是一样的,负数的反码是除了符号位不变其余取反,补码是:反码+1=补码正数的零原码 0000 0000 负数零的原码...

2019-03-06 19:02:37 8749 6

原创 只出现一次的数字(异或运算符)

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。在这里必须先明白 异或运算符(^)的使用方法:1^1=0 0^0=0 只有 1^0=1 这个最基本的原理 现在来解释一下这个算法运用的原理:0 ^ 任何数 = 任何数 ,对同一个数异或两次 结果不变 题干中明确说明了,只有有一个数只出...

2019-03-04 09:36:14 429

原创 动态规划之最长上升子序列(贪心+二分法)

动态规划算法和动态规划算法的区别:当一个问题的最优解包含其子问题的最优解时,称此问题具有最优子结构性质。运用贪心策略在每一次转化时都取得了最优解。问题的最优子结构性质是该问题可用贪心算法或动态规划算法求解的关键特征。贪心算法的每一次操作都对结果产生直接影响,而动态规划则不是。贪心算法对每个子问题的解决方案都做出选择,不能回退;动态规划则会根据以前的选择结果对当前进行选择,有回退功能。动...

2019-03-01 16:12:32 2090

原创 动态规划之最长上升子序列(入门版)

最长上升子序列不是最大上升子序列,思想一样但结果可能不一样        比如:序列(100, 1, 2, 3)的最大上升子序列和为100,而最长上升子序列为(1, 2, 3)。现在我们要解决的问题就是在给定的数组中找出最长上升子序列:先给一个栗子给定的数组 a[7] = {1,6,4,2,3,9,8}思想:这里用到的是一个自底向上的寻找最优子结构的的思想。粗俗来说:如果你想要得到...

2019-02-26 16:56:23 10659 2

原创 动态规划之背包问题(优化版)

这篇是接上一篇博客的优化版,如果不清楚题干请阅读上一篇动态规划之背包问题(入门版)(如果刚入门,建议先阅读入门版,有助于理解思想),主要在这里优化的是在空间上,废话不说太多,直接上代码,#include&lt;iostream&gt;#include&lt;algorithm&gt;using namespace std;int main(){ //T 总的背包容量 ...

2019-02-25 11:01:04 431

原创 动态规划之背包问题(入门版)

题目描述辰辰是个很有潜能、天资聪颖的孩子,他的梦想是称为世界上最伟大的医师。 为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。 医师把他带到个到处都是草药的山洞里对他说: “孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。 我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大...

2019-02-23 17:23:28 171

原创 Spring学习 注解(四)

一、属性依赖注入 依赖注入方式:手动装配 和 自动装配 手动装配:一般进行配置信息都采用手动 基于XML装配:构造方法,setter方法 基于注解装配 自动装配:struts和spring整合可以自动装配 byType:按类型装配 byName: 按名称装配 constructor 构造装配 anto: 不确定装配 案例:按构造方法注

2018-02-04 11:12:09 216

原创 Spring 学习之三 bean 使用注解 种类 作用域

一、Bean种类 1.1 普通bean:之前操作的都是普通bean ,spring直接创建实例,并返回 1.2 FactoryBean:是一个特殊的bean,具有工厂生成对象能力,只能生成特定的对象 bean必须使用FactoryBean接口,此接口提供方法getObject(),用于获得特定bean  先创建FB实例,使用调用getObject()方法,并返回方法的返回值

2018-02-03 11:15:21 289

原创 Spring 入门学习(二)之 三种实例方式

一、DI(依赖注入)(依赖)Dependency :一个对象需要使用另一个对象(注入)Injection:通过setter方法进行另一个对象实例设置区别:没有用spring之前  接口=实现类,现在 接口 + setter方法配置文件二、Spring API 2.1 BeanFactory:这是一个工厂,用于生成任意bean,采用延迟加载,第一次getBean时才会

2018-02-02 10:43:17 144

原创 Spring 入门学习(一)

一、Spring  1.1 核心  Spring的核心是控制反转和依赖注入1.2 优点 1.2.1 方便解耦,简化开发(高内聚,低耦合) spring就是一个大工厂(容器),可以将所有对象创建和依赖关系维护,交给Soring管理 Spring工厂就是用于生成bean 1.2.2 AOP编程的支持 Spring提供面向切面编程,可以方便的实现对程序

2018-02-01 09:33:39 233

原创 Version 1.4.2_03 of the JVM is not suitable for this product. Version:1.6 or greater is required.

重装eclipse时候打开就出现这个问题?一般解决方法就是找到系统文件下的java文件,并把它们删除即可具体操作方法如下下面的路径一般是默认路径(C:\Windows\System32)。一般都在这里能找到(如果不在这个路径,那么你就得自己找安装的目录)删除完,重新打开eclipse就行

2017-10-30 14:45:22 1369

原创 SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.这是包冲突造成的,从这个网址中下载点击打开链接然后下载slf4j-1.7.25.zip文件然后找

2017-10-29 09:56:34 331

原创 Spring 静态工厂和实例工厂

什么是静态工厂?工厂类所有方法都是静态的/** * 里面一般来说都是静态的方法 * @author memory_coder * @2017年10月2日 上午10:05:31 */public class StaticBeanFactory { public static User getUser() { return new UserImpl(); }}在Appli

2017-10-03 19:07:58 1128

原创 Spring 环境配置 控制反转(IoC) 依赖注入(Di)

Spring 环境配置:简单来说就是 :四个jar包 + 一个依赖包 + ApplicationContext.xmljar 包都在spring源码里面,位置看一下图 四个jar包在spring源码下的路径为:spring-framework-3.2.0.RELEASE-dist.zip\spring-framework-3.2.0.RELEASE\libs\另一个依赖

2017-10-02 09:03:47 347

原创 C语言的变量和函数与java的属性和方法有什么区别

想要了解面向对象和面向过程的区别,一般从最基本的封装,继承,多态入手封装性变量和方法的区别:c语言的变量只有局部变量和全局变量,没有访问修饰符,但java的属性可以有访问修饰符(public ,private等),增加了访问权限,java没有全局变量,方法同理。继承性java的属性和方法都可以被继承(非final类),但c语言不行多态java的方法具有多态特性而c语言没有,

2017-09-17 19:43:54 1273

原创 Struts2 搭建开发环境

搭建Struts分为三个步骤1. 下载开发工具包2. 导入jar包(必须有选择的导入,简单的开发环境所需jar包下图)3. 配置XML文件从第二个步骤开始在开发包里lib目录下找到以下jar包导入jar包配置XML文件(核心)在顶层路径下(即src下)创建struts.xml文件,红框里面代表的struts的约束条件配置struts-2.3.dtd文件,

2017-08-06 17:32:06 206

原创 Nginx搭建Tomcat集群和完成负载均衡

一 、什么是Nginx的概述       Nginx(“engine x”)是一个高性能和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由IgorSyoer为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版0.1.0发布于2004年10月4日,其特点是占有内存少,并发能力强。二、什么是负载均衡负载均衡服务器分为两种一种是通过硬件实现的负载均衡

2017-08-02 19:48:53 296

原创 mysql 优化(五)

9. 垂直分表水平分表:是把一个表的全部记录信息分别在存储到不同的分表中(以一条记录信息为最小单位)垂直分表:是把一个表的全部字段分别存储到不同的表里变(按字段分表,一个或多个字段存储在一个表中)有的时候,一个数据表设计好了,里边有许多字段,但是这些字段有的是经常使用的,有的是不常用的。例如,一个数据表有20个字段,其中10个字段是常用的,后10个字段是不常用的     那

2017-07-19 09:30:53 239

ValidateCode.jar

自动生成验证码

2017-08-26

空空如也

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

TA关注的人

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