自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(99)
  • 资源 (7)
  • 问答 (10)
  • 收藏
  • 关注

原创 MySQL学习笔记-命令

1、连接Mysql格式:mysql -h主机地址 -u用户名 -p用户密码1、连接到本机上的MYSQL。首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码。如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>2、连接到远程主机上的MYSQL。假设远程主机的IP为:110.

2020-11-17 11:03:46 274

原创 Spring SpEL表达式解析

基本语法SpEL使用#{…}作为定界符,所有在大框号中的字符都将被认为是SpEL表达式。使用字面量●整数:<property name="count" value="#{5}"/>●小数:<property name="frequency" value="#{89.7}"/>●科学计数法:<property name="capacity" value="#{1e4}"/>●String类型的字面量可以使用单引号或者双引号作为字符串的定界符号<pr

2020-11-16 14:28:38 1781

原创 Linux学习笔记-Linux安装MySQL数据库

1、下载mysql的yum仓库下载地址:https://dev.mysql.com/downloads/repo/yum/或者直接下载:wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm下载完成以后,把下载的包放到服务器,执行如下命令进行安装yum localinstall mysql80-community-release-el7-3.noarch.rpm或sudo rpm -

2020-10-31 19:01:24 356

原创 替换 MySQL 指定字段中的字符串

UPDATE 表名 SET指定字段 = replace(指定字段, '要替换的字符串', '想要的字符串')WHERE 条件;

2020-10-28 14:17:54 209

原创 学习JAVA高级之反射

一、什么是反射反射就是把Java类中的各个成分映射成一个个的Java对象。即在运行状态中,对于任意一个类,都能够知道这个类的所以属性和方法;对于任意一个对象,都能调用它的任意一个方法和属性。这种动态获取信息及动态调用对象方法的功能叫Java的反射机制。  1. 反射机制的功能  Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类。 在运行时构造任意一个类的对象。 在运行时判断任意一个类所具有的成员变量和方法。 在运行时调用任意一个对象的方法

2020-10-20 14:20:41 303

原创 JAVA高级之JDBC数据库编程

一、JDBCJDBC制定了统一访问各类关系数据库的标准接口,为各个数据库厂商提供了标准接口的实现。JDBC规范将驱动程序归结为以下几类(选自Core Java Volume Ⅱ——Advanced Features): 第一类驱动程序将JDBC翻译成ODBC,然后使用一个ODBC驱动程序与数据库进行通信。 第二类驱动程序是由部分Java程序和部分本地代码组成的,用于与数据库的客户端API进行通信。 第三类驱动程序是纯Java客户端类库,它使用一种与具体数据库无关的协议将数据

2020-10-19 10:24:05 230

原创 了解Java动态代理

动态代理的简要说明在java的动态代理机制中,有两个重要的类或接口,一个是 InvocationHandler(Interface)、另一个则是 Proxy(Class)。一、 InvocationHandler(interface)的描述:InvocationHandler is the interface implemented by the invocation handler of a proxy instance.Each proxy instance has an associ

2020-10-15 09:59:32 183

原创 Mysql 内连接、左连接会出现笛卡尔积

有两张表,user表和job表,表数据如下交叉连接SELECT *FROM `user` CROSS JOIN job; 这种等同于(交叉查询等于不加on的内连接)SELECT *FROM `user` , job;  sql执行结果:  结论:交叉连接,会产生笛卡尔积。内连接内连接唯一字段SELECT *FROM `user` u JOIN job j ON u.JOB_ID=j.ID;

2020-10-12 08:54:58 1195

原创 Intellij IDEA中炫酷的插件

1、日晒主题 Solarized Themes推荐指数:☆☆☆☆☆推荐理由:日晒主题本身是为vim定制的。后来移植到ide 非常酷!配色非常耐看。 最近更新不等号显示,注释不可编辑。背景图可是另外的插件设置的哈Background Image Plus +2、idea上 类调用时序图 SequenceDiagram for IntelliJ IDEA 推荐指数:☆☆☆推荐理由:在梳理别人的代码的时候, 能够很清晰的看到依赖调用时序3、彩色括号 R...

2020-10-12 08:54:42 1148

原创 SQL函数说明大全(三)

排列函数这些函数被用于以与结果集顺序无关的特定顺序,枚举已排序的或排在前面的结果集。ROW_NUMBER()函数ROW_NUMBER()函数根据作为参数传递给这个函数的ORDER BY子句的值,返回一个不断递增的整数值。如果ROW_NUMBER的ORDER BY的值和结果集中的顺序相匹配,返回值将是递增的,以升序排列。如果ROW_NUMBER的ORDER BY子句的值和结果集中的顺序不同,这些值将不会按顺序列出,但它们表示ROW_NUMBER函数的ORDER BY子句的顺序。如下面的例子和结

2020-10-10 14:03:25 324

原创 SQL函数说明大全(二)

日期函数这些函数可以操作DateTime与SmallDateTime类型的值。有些函数可用于解析日期值的日期与时间部分,有些函数可用于比较、操纵日期/时间值。日期数据类型的区别如下表所示。 数据类型 输出 time 12:35:29. 1234567 date 2007-05-08 smalldatetime 2007-05-08 12:35:00

2020-10-09 08:49:24 290

原创 SQL函数说明大全(一)

一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果。这些要求包括:执行计算与数学运算、转换数据、解析数值、组合值和聚合一个范围内的值等。下表给出了T-SQL函数的类别和描述。 函数类别 作用 聚合函数 执行的操作是将多个值合并为一个值。例如COUNT、SUM、MIN和MAX。 配置函数 是一种标量函数,可返回有关配置设置的信息。 转换函...

2020-10-08 09:11:12 1029 1

原创 了解JVM内存堆布局图解分析

JAVA能够实现跨平台的一个根本原因,是定义了class文件的格式标准,凡是实现该标准的JVM都能够加载并解释该class文件,据此也可以知道,为啥Java语言的执行速度比C/C++语言执行的速度要慢了。当然原因肯定不止这一个,如在JVM中没有数据寄存器,指令集使用的是栈来保存中间数据…等,尽管Java的贡献者们为执行速度的提高想了各种办法,如JIT、动态编译器等,以下是Leetcode中一道题目用不同的语言实现时的执行性能对比图…以下是JVM的一个基本架构图,在这个基本架构图中,栈有两部份,J

2020-10-05 21:07:16 266

原创 了解JVM运行原理及Stack和Heap的实现过程

1、JVM简介:JVM是java的核心和基础,在java编译器和os平台之间的虚拟处理器。它是一种利用软件方法实现的抽象的计算机基于下层的操作系统和硬件平台,可以在上面执行java的字节码程序。java编译器只要面向JVM,生成JVM能理解的代码或字节码文件。Java源文件经编译成字节码程序,通过JVM将每一条指令翻译成不同平台机器码,通过特定平台运行。2.Java语言运行的过程Java语言写的源程序通过Java编译器,编译成与平台无关的‘字节码程序’(.class文件,也就是0,1二进制程

2020-09-29 09:11:37 153

原创 Web项目中Redis的应用与实践

Redis作为一个开源的(BSD)基于内存的高性能存储系统,已经被各大互联网公司广泛使用,并且有着诸多的应用场景。本篇文章将基于PHP来详细讲解Redis在Web项目中的主要应用与实践。1、缓存这里所介绍的缓存是指可以丢失或过期的数据。常用的命令有 set, hset, get, hget,使用redis作为缓存时需要注意以下几个问题: 由于redis的可用内存是有限的,不能容忍redis内存的无限增长,建议设置 maxmemory 最大内存。 在开启maxmemory的情况下,可以

2020-09-27 10:23:32 495

原创 后端必备的 SQL 语句大全

一、基础1、说明:创建数据库CREATE DATABASE database-name2、说明:删除数据库drop database dbname3、说明:备份sql server​​​​​​--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'--- 开始 备份BACKUP DATABASE pubs TO testBac

2020-09-23 09:05:40 979

原创 Java中Synchronized底层实现

关于synchronized的底层实现,网上有很多文章了。但是很多文章要么作者根本没看代码,仅仅是根据网上其他文章总结、照搬而成,难免有些错误;要么很多点都是一笔带过,对于为什么这样实现没有一个说法,让像我这样的读者意犹未尽。本系列文章将对HotSpot的synchronized锁实现进行全面分析,内容包括偏向锁、轻量级锁、重量级锁的加锁、解锁、锁升级流程的原理及源码分析,希望给在研究synchronized路上的同学一些帮助。大概花费了两周的实现看代码(花费了这么久时间有些忏愧,主要是对C++、J

2020-09-21 16:10:55 187

原创 Spring 的 Controller 是单例还是多例?

controller默认是单例的,不要使用非静态的成员变量,否则会发生数据逻辑混乱。正因为单例所以不是线程安全的。我们下面来简单的验证下:package com.springbootdemo.controller;import org.springframework.context.annotation.Scope;import org.springframework.stereotype.Controller;import org.springframework.web.bind.ann

2020-09-12 10:02:58 252

原创 了解Java空指针

相信在座的各位都遇到过空指针异常,不甚其烦,本文不是教你避免空指针,而是一些对空指针其他方面的理解。本文可能有点另类,也可能会打破你对空指针的认知。1、null.method() 空指针?我们知道调用一个对象的方法,如果对象为null肯定会报空指针错误的,但你确定一定会吗?不一定!来看下面的示例:/***访问静态方法*/privatestaticvoidtest(){NullTestnullTest=null;//hello...

2020-09-11 10:24:48 611

原创 了解Java代码实现排序算法

1Java 代码实现排序算法1.直接插入排序经常碰到这样一类排序问题:把新的数据插入到已经排好的数据列中。 将第一个数和第二个数排序,然后构成一个有序序列 将第三个数插入进去,构成一个新的有序序列。 对第四个数、第五个数……直到最后一个数,重复第二步。 如何写写成代码: 首先设定插入次数,即循环次数,for(int i=1;i<length;i++),1个数的那次不用插入。 设定插入数和得到已经排好序列的最后一个数的位数。insertNu.

2020-09-09 08:58:01 194

原创 Stopwatch 解释为计时器,又称秒表、停表,很明显它是记录时间的

# 如何使用Stopwatch stopwatch = Stopwatch.createStarted(); doSomething(); stopwatch.stop(); // optional long millis = stopwatch.elapsed(MILLISECONDS);// formatted string like "12.3 ms"}log.info("time: " + stopwatch);安卓使用:Stopwatch.createStar

2020-09-08 20:22:51 2846

原创 官方最新Redis开发规范

本文主要介绍在使用阿里云Redis的开发规范,从下面几个方面进行说明。 键值设计 命令使用 客户端使用 相关工具 通过本文的介绍可以减少使用Redis过程带来的问题。一、键值设计1、key名设计可读性和可管理性以业务名(或数据库名)为前缀(防止key冲突),用冒号分隔,比如业务名:表名:idugc:video:1简洁性保证语义的前提下,控制key的长度,当key较多时,内存占用也不容忽视,例如:user:{uid}:friend

2020-08-31 20:28:26 76

原创 Java得另类写法

1、集合初始化集合的创建、赋值一步到位,想不想学?来,上边跟我一起画个 List,在你下边画一个MapList<String>list=newArrayList<String>(){{add("www.");add("javastack.");add("cn");}};Map<String,String>map=newHashMap<String,String>(){{put(...

2020-08-29 19:10:54 306

原创 学习Nginx + Spring Boot 实现负载均衡

前言本篇文章主要介绍的是Nginx如何实现负载均衡。负载均衡介绍在介绍Nginx的负载均衡实现之前,先简单的说下负载均衡的分类,主要分为硬件负载均衡和软件负载均衡,硬件负载均衡是使用专门的软件和硬件相结合的设备,设备商会提供完整成熟的解决方案,比如F5,在数据的稳定性以及安全性来说非常可靠,但是相比软件而言造价会更加昂贵;软件的负载均衡以Nginx这类软件为主,实现的一种消息队列分发机制。简单来说所谓的负载均衡就是把很多请求进行分流,将他们分配到不同的服务器去处理。比如我有3个服务器,分别为

2020-08-25 10:57:57 105

原创 了解下Lambda表达式

JDK的升级的目的有以下几个:增加新的功能、修复bug、性能优化、简化代码等几个方面,Lambda表达式就是属于简化代码,用于简化匿名实现类,提供一种更加简洁的写法。Lambda表达式在Swift语言中称之为代码块,Lambda表达式可以认为是一种特殊的接口,该接口必须只有一个抽象方法。语法(参数类型 参数名, 数参数类型 参数名2...) -> { // code};小括号()中的内容就是方法中的参数列表包括参数类型、参数名,其中参数类型是可以省略的,当参数个数只有一个时也可以省略掉

2020-08-23 09:28:26 245

原创 mysql数据库left join on后面 加条件和where后面加条件的区别

上一篇对三个join的语句做了一个区别,如果连最基础的都不清楚,那么请先参考:inner join 与 left join 和right join之间的区别碰巧在项目中遇到了一个sql,是left join和where的条件限制的区别,想了好半天,这里做一下笔记,万一以后忘记了方便查看。话不多说,直接上测试数据和sql,然后对我的理解进行分析下。student表和grade表简单提一个需求是:我需要统计所有有成绩的学生信息。项目遇到那个问题比这个复杂,但是最终需要筛选的条件和这.

2020-08-22 12:09:03 647

原创 了解Java几种常用JSON 库性能比较

本篇通过JMH来测试一下Java中几种常见的JSON解析库的性能。每次都在网上看到别人说什么某某库性能是如何如何的好,碾压其他的库。但是百闻不如一见,只有自己亲手测试过的才是最值得相信的。JSON不管是在Web开发还是服务器开发中是相当常见的数据传输格式,一般情况我们对于JSON解析构造的性能并不需要过于关心,除非是在性能要求比较高的系统。目前对于Java开源的JSON类库有很多种,下面我们取4个常用的JSON库进行性能测试对比, 同时根据测试结果分析如果根据实际应用场景选择最合适的JSON库。

2020-08-21 08:28:54 144

原创 学习SpringBoot几种定时任务的实现方式

定时任务实现的几种方式Timer:这是java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务。使用这种方式可以让你的程序按照某一个频度执行,但不能在指定时间运行。一般用的较少。ScheduledExecutorService:也jdk自带的一个类;是基于线程池设计的定时任务类,每个调度任务都会分配到线程池中的一个线程去执行,也就是说,任务是并发执行,互不影响。Spring Task:Spring3.0以后自带的task,可以将它看成一个轻量级的

2020-08-20 08:39:31 106

原创 MySQL GTID原理

一、MySQL GTID ReplicationMySQL 5.6的新特性之一,加入了全局事务ID (Global Transaction ID) 来强化数据库的主备一致性,故障恢复,以及容错能力。用于取代过去通过 binlog 文件偏移量定位复制位置的传统方式。MySQL 会为每一个 DML/DDL 操作增加一个唯一标记叫做 GTID,这个标记在整个复制环境中都是唯一的。主从环境中主库的 dump 线程可以直接通过 GTID 定位到需要发送的 binary log 位置,而不再需要指定 binary l

2020-08-19 08:24:54 456

原创 Windows安装Mysql数据库

一、前言正所谓磨刀不误砍柴工,不管是在平时练习sql,书写项目等都离不开数据库,今天我们就好好的整理下mysql的安装,本文主要针对mysql初学者。二、正文1、mysql的下载官方下载地址:https://dev.mysql.com/downloads/mysql/此处版本我选择的是5.7.31,系统环境选择的是windows,OS版本此处选择ALL,由于我的系统的WIN1064位的,因此这里我选择下载对应的windows(x86,64-bit).ZIP Archive。点击Do.

2020-08-18 11:46:39 83

原创 Mybatis是如何执行一条SQL命令的

Mybatis中的Sql命令,在枚举类SqlCommandType中定义的。public enum SqlCommandType { UNKNOWN, INSERT, UPDATE, DELETE, SELECT, FLUSH;}下面,我们以Mapper接口中的一个方法作为例子,看看Sql命令的执行完整流程。public interface StudentMapper { List<Student> findAllStudents(Map<String, Obje

2020-08-18 08:53:51 339

原创 Linux系统Lrzsz的安装和使用

在使用linux系统时,我们有的时候会需要上传和下载一些东西,像我们在网站上下载的一些适用于linux的软件包等。这时就可以使用lrzsz来帮助我们上传文件。安装lrzszyum -y install lrzsz 上传文件命令:rz执行该命令后,在弹出框中选择要上传的文件即可。下载文件命令:sz输入命令后会弹出接收文件的文件夹。...

2020-08-16 07:02:48 426

原创 Mybatis中StatementHandler、ParameterHandler是如何与Executor协同工作的

1. 数据库操作invoke时序图(Made In Visual Paradigm)本文重点分析StatementHandler和ParameterHandler是如何与Executor共襄盛举的。(上图中的execute()失误画错了,应该是executeQuery())2. Executor内使用StatementHandler模板Statement stmt;StatementHandler handler;// 判断缓存内是否存在stmtif (...) { //

2020-08-15 18:15:39 456

原创 学习Java中的锁

1、为什么要用锁?锁-是为了解决并发操作引起的脏读、数据不一致的问题。2、锁实现的基本原理2.1、volatile★Java编程语言允许线程访问共享变量, 为了确保共享变量能被准确和一致地更新,线程应该确保通过排他锁单独获得这个变量。Java语言提供了volatile,在某些情况下比锁要更加方便。volatile在多处理器开发中保证了共享变量的“ 可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。结论:如果volatile变量修饰符使用恰当

2020-08-14 09:08:40 182 1

原创 Spring Boot 默认跳转到index.html的方式

WebMvcAutoConfiguration @Bean public WelcomePageHandlerMapping welcomePageHandlerMapping(ApplicationContext applicationContext) { return new WelcomePageHandlerMapping(new TemplateAvailabilityProviders(applicationContext), appl.

2020-08-13 08:57:38 1617

原创 推荐一个工具包hutool-all,非常好用

<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>4.1.2</version></dependency>读取txt文本private List<String> termOpenList() throws IOException { List..

2020-08-12 17:08:54 12110 1

原创 学习Java集合架构

一、集合框架图简化图:说明:对于以上的框架图有如下几点说明1、所有集合类都位于java.util包下。Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类。2、集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框架的基础。3、抽象类:5个抽象类(长虚线表示),对集合接口的部分实现。可扩展为自定义集合类。4、实现类:8个实现类(实线表示),对接口的具体实现。

2020-08-12 14:08:04 90

原创 sql查询重复数据只取最新得一条

SELECT * FROM tableWHERE id IN ( select max(id) from table group by a,b)先找出重复数据的 最大的Id ( group by 后面可跟多列, 根据规则找到重复数据), 取出 id 最大或最小的 Id, 然后使用 in查询,就可以得到不重复的数据。...

2020-08-11 22:57:19 3824

原创 SpringBoot内置的Tomcat是如何启动的

# 前言不得不说SpringBoot的开发者是在为大众程序猿谋福利,把大家都惯成了懒汉,xml不配置了,连tomcat也懒的配置了,典型的一键启动系统,那么tomcat在springboot是怎么启动的呢?# 内置tomcat开发阶段对我们来说使用内置的tomcat是非常够用了,当然也可以使用jetty。<dependency> <groupId>org.springframework.boot</groupId> <artifactI

2020-08-11 21:20:18 716

原创 Java如何实现二维码

简介ZXing是一个开源 Java 类库用于解析多种格式的 1D/2D 条形码。目标是能够对QR编码、Data Matrix、UPC的1D条形码进行解码。其提供了多种平台下的客户端包括:J2ME、J2SE和Android。官网:ZXing github仓库实战本例演示如何在一个非 android 的 Java 项目中使用 ZXing 来生成、解析二维码图片。安装maven项目只需引入依赖:<dependency> <groupId>com.goog.

2020-08-10 08:49:58 227

jcrop实现剪切上传图片

jcrop实现剪切上传图片,获取剪切图片的坐标和宽高度,还有一些操作例子。

2017-02-15

html5 websocket 建立连接通讯

html5 websocket 建立连接通讯

2017-01-03

仿淘宝城市选择

仿淘宝城市选择

2017-01-03

jquery 仿携程选择地区

jquery 仿携程选择地区

2017-01-03

jquery 仿携程选择地区,修改选择按照字母分类选择快递

jquery 仿携程选择地区,修改选择按照字母分类选择快递

2017-01-03

微信公众平台实例

微信公众平台接入Java实例,结合BAE http://www.2cto.com/kf/201405/299487.html 在百度BAE2.0 JAVA环境下搭建属于自己的微信公众平台接口 http://my.oschina.net/using/blog/167805 ,http://www.cnblogs.com/ixxonline/p/3659434.html 微信公众平台java开发详解(工程代码+解析) http://blog.csdn.net/pamchen/article/details/38718947 微信公众帐号开发教程 http://blog.csdn.net/lyq8479/article/details/8937622 微信公众平台开发教程(五)自定义菜单 http://www.cnblogs.com/yank/p/3418194.html

2016-08-04

iscroll5上拉下拉实例demo

iscroll5上拉下拉实例demo

2016-08-04

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

TA关注的人

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