<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[左小林的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/zuo19980407</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zuo19980407]]></copyright><item><title><![CDATA[【SQL注入小结】]]></title><link>https://blog.youkuaiyun.com/zuo19980407/article/details/122883477</link><guid>https://blog.youkuaiyun.com/zuo19980407/article/details/122883477</guid><author>zuo19980407</author><pubDate>Fri, 11 Feb 2022 16:38:38 +0800</pubDate><description><![CDATA[SQL注入小结一:什么是SQL注入二:SQL注入攻击实例三:如何防御SQL注入1. 检查变量的数据格式和数据类型2. 过滤特殊字符3. 使用预编译功能四:什么是预编译五:MyBatis怎么防范SQL注入1.mybatis中的#和$的区别:2.mybatis是如何做到防止sql注入的:
一:什么是SQL注入
SQL注入是一种网络上常见的攻击方式,是通过对程序员编写代码疏忽进行攻击的,通常通过SQL语句来实现无账号登录等操作.
二:SQL注入攻击实例
String sql = "select * from us]]></description><category></category></item><item><title><![CDATA[现要求输入一个整数n,请输出斐波那契数列的第n项]]></title><link>https://blog.youkuaiyun.com/zuo19980407/article/details/107765798</link><guid>https://blog.youkuaiyun.com/zuo19980407/article/details/107765798</guid><author>zuo19980407</author><pubDate>Mon, 03 Aug 2020 16:00:35 +0800</pubDate><description><![CDATA[大家都知道斐波那契数列，现要求输入一个整数n,请输出斐波那契数列的第n项(从0开始,第0项是0,第1项是1)。
首先，我们先来了解一下斐波那契数列，斐波那契数列又称之为黄金分割数列，其数列为：0,1，1,2，3,5，8,13,21,34…该数列从第三项开始，每一项都等于前两项之和。
即：
当 n&lt;1时，f(n)=0;
当n=1时，f(n)=1;
当n&gt;1时，f(n)=f(n-1)+f(n-2).
综上所诉，可得出代码如下：
public class Solution {
	public int ]]></description><category></category></item><item><title><![CDATA[Linux基本操作解读]]></title><link>https://blog.youkuaiyun.com/zuo19980407/article/details/107578001</link><guid>https://blog.youkuaiyun.com/zuo19980407/article/details/107578001</guid><author>zuo19980407</author><pubDate>Sat, 25 Jul 2020 14:26:54 +0800</pubDate><description><![CDATA[一、为什么要学习Linux
首先，大部分的人在使用电脑基本都是使用的Windows系统的，那我们为什么要学习使用Linux系统呢。我总结出一下几个优点：

免费
开源，且能被定制二次开发
软件基本处于Linux系统下运行的，拥有庞大的社区支持
相对于Windows系统，Linux系统更加安全稳定

二、Linux基本组成
Linux系统的组成分为：

Linux内核
Shell(用于与内核进行交互的接口)
文件系统的组成
第三方软件应用

其他的都好理解,下面我主要是说说Shell这个东西。
Shell是系]]></description><category></category></item><item><title><![CDATA[有关Kafka的一点简介]]></title><link>https://blog.youkuaiyun.com/zuo19980407/article/details/107522100</link><guid>https://blog.youkuaiyun.com/zuo19980407/article/details/107522100</guid><author>zuo19980407</author><pubDate>Wed, 22 Jul 2020 20:32:10 +0800</pubDate><description><![CDATA[特点：
1.高吞吐量，Kafka每秒可以生产25万条消息，每秒处理55万条消息。
2.持久化，将消息持久化到磁盘，因此可以用于批量消费，例如ETL，以及实时应用程序。通过将数据持久化到硬盘以及replication中防止数据丢失。
3.分布式系统，所有的producer、broker和consumer都会有多个，均为分布式的。
4.可扩展性。Kafka使用Zookeeper来实现动态的集群拓展，不需要更改客户端的配置。broker会在Zookeeper注册并保持相关的元数据更新。
与其他中间件的区别



]]></description><category></category></item><item><title><![CDATA[javaWeb后台开发代码规范]]></title><link>https://blog.youkuaiyun.com/zuo19980407/article/details/106253041</link><guid>https://blog.youkuaiyun.com/zuo19980407/article/details/106253041</guid><author>zuo19980407</author><pubDate>Thu, 21 May 2020 13:51:37 +0800</pubDate><description><![CDATA[命名规范
1.基本原则：
（1） 采用英文全称进行命名；
（2）保持各层级名称基本统一；
（3）命名英文单词用全称，避免用简称。
1.1 包命名规范
包名称必须全部用小写。
命名方式：com.域名.项目名称.项目模块.系统分层
如：com.example.ordering.java.dao
com.example.ordering.java.controller
1.2 类命名规范
类名以英文单词取名，使用大驼峰式命名法，首字母大写，多个英文单词以大写字母间隔，尽量避免使用缩写；类名中不允许‘_’、‘-’等]]></description><category></category></item><item><title><![CDATA[FFmpeg合并音频文件和视频文件]]></title><link>https://blog.youkuaiyun.com/zuo19980407/article/details/106103161</link><guid>https://blog.youkuaiyun.com/zuo19980407/article/details/106103161</guid><author>zuo19980407</author><pubDate>Wed, 13 May 2020 17:59:00 +0800</pubDate><description><![CDATA[在做项目时遇到一个需求：制作视频，即用户点击上传按钮能够上传本地视频，同时系统提供配BGM的功能（BGM）由后台提供。
当刚接到这个需求的时候，我整个人都是懵的，制作视频？这不是新媒体做的吗，不会啊，但是既然有这个需求，那就只能硬着头皮上了。
进过多方查找，确定了用FFmpeg这个软件来完成这个需求。网上了解到：FFmpeg是一个开源免费跨平台的视频和音频流方案，属于自由软件，采用LGPL或GPL许可证（依据你选择的组件）。这个软件能够进行音视频的合并。
又掉了几根头发后，写出一个小Demo，能够实现音视频]]></description><category></category></item><item><title><![CDATA[用Java实现剪切歌曲]]></title><link>https://blog.youkuaiyun.com/zuo19980407/article/details/106102158</link><guid>https://blog.youkuaiyun.com/zuo19980407/article/details/106102158</guid><author>zuo19980407</author><pubDate>Wed, 13 May 2020 17:07:06 +0800</pubDate><description><![CDATA[在一次项目需要使用到FFmpeg的时候一开始的思路需要截取歌曲用来当做测试数据。于是写了个方法用来截取歌曲，觉得需要记录一手当做笔记。
话不多说，直接上干货：
/**
     * 剪切歌曲时间
     */
    public static void cut(File f,File f2){
        BufferedInputStream bis1 = null;
        BufferedOutputStream bos = null;
        //剪切部分起始字节
     ]]></description><category></category></item><item><title><![CDATA[关于Left Join On的使用]]></title><link>https://blog.youkuaiyun.com/zuo19980407/article/details/106072940</link><guid>https://blog.youkuaiyun.com/zuo19980407/article/details/106072940</guid><author>zuo19980407</author><pubDate>Tue, 12 May 2020 11:48:02 +0800</pubDate><description><![CDATA[在进行公司项目超猿的CRMPC端后台会员列表页面开发时，初始为了省事方便，直接使用全表查询，由于该功能项设计了三个表的数据，全表查询导致了查询速度过于长久，被测试人员驳回优化

当我在数据库进行查询的时候，发现查询时间也是达到了令人惊悚的5.5s

首先想到的就是通过explain来查看慢sql，针对性优化

由上可见，多个全表查询导致效率变得迟缓，经过网上查找，请教同事，决定用Left Join的语句来对表进行拼接，而不是全表查询。
Left Join俗称左连接，也就是吧left join左边的表的记录全]]></description><category></category></item><item><title><![CDATA[关于时间的转换]]></title><link>https://blog.youkuaiyun.com/zuo19980407/article/details/106021216</link><guid>https://blog.youkuaiyun.com/zuo19980407/article/details/106021216</guid><author>zuo19980407</author><pubDate>Sat, 09 May 2020 15:58:31 +0800</pubDate><description><![CDATA[一、时间戳转换
因为在工作中遇到了关于时间转换的问题，期间搜了很多度娘博客之类，总结出部分转换，如有补充，后续更改。
1、时间戳（毫秒）
System.currentTimeMillis()
2、时间戳（转秒）
System.currentTimeMillis() / 1000
3、时间戳（转分钟）
System.currentTimeMillis() / 1000 / 60
4、时间戳（转小时）
System.currentTimeMillis() / 1000 / (60 * 60)
5、时间戳（转天）]]></description><category></category></item><item><title><![CDATA[IDEA插件之FreeMyBatis plugin   (mapper.java直接跳mapper.xml)]]></title><link>https://blog.youkuaiyun.com/zuo19980407/article/details/105783869</link><guid>https://blog.youkuaiyun.com/zuo19980407/article/details/105783869</guid><author>zuo19980407</author><pubDate>Mon, 27 Apr 2020 09:57:10 +0800</pubDate><description><![CDATA[IDEA 的插件千变万化，时不时总结一下在工作中遇到的一些有需要的，更方便的插件用于记录。
话不多说，以下正文：


如上两图,mapper.java中的selectLogo并没有直接跳转按钮,每次寻找要花费不必要的时间.但是安装了FreeMyBatis plugin就不一样了.

从图中所给的顺序安装这个插件,然后重启IDEA即可.以下是效果图:



...]]></description><category></category></item><item><title><![CDATA[Java基础之方法]]></title><link>https://blog.youkuaiyun.com/zuo19980407/article/details/104562988</link><guid>https://blog.youkuaiyun.com/zuo19980407/article/details/104562988</guid><author>zuo19980407</author><pubDate>Fri, 28 Feb 2020 20:28:56 +0800</pubDate><description><![CDATA[方法
方法就是可以完成“独立功能的代码块”。
基本格式
public static void 方法名(参数){
	//方法体;
}

注意:

方法的()中是可以写参数的
方法定义的位置,只能是类中,方法外
如果方法没有返回值,那么数据类型就是void
如果方法有返回值,要看返回的数据是什么类型,那么在方法定义的时候就需要指定数据类型

好处
可以提高代码的可复用性
实参
方法调用的参数,方法中实...]]></description><category></category></item><item><title><![CDATA[Java基础之数组]]></title><link>https://blog.youkuaiyun.com/zuo19980407/article/details/104481285</link><guid>https://blog.youkuaiyun.com/zuo19980407/article/details/104481285</guid><author>zuo19980407</author><pubDate>Mon, 24 Feb 2020 17:55:04 +0800</pubDate><description><![CDATA[Java SE基础入门小结Java基础之数组什么是数组数组的特点数组的格式动态初始化静态初始化jvm内存分配栈内存堆内存数组操作的两个常见问题索引越界异常空指针异常数组的遍历
Java基础之数组
什么是数组
数组就是存储数据长度固定的一个容器,存储多个数据类型要一致。
数组的特点

数组可以存储同一个数据类型的多个值
数组是有索引的，最小的索引是0，最大的索引是 数组名.length-1
可以存储...]]></description><category></category></item><item><title><![CDATA[利用nginx实现缓存预热]]></title><link>https://blog.youkuaiyun.com/zuo19980407/article/details/104450114</link><guid>https://blog.youkuaiyun.com/zuo19980407/article/details/104450114</guid><author>zuo19980407</author><pubDate>Sat, 22 Feb 2020 21:22:48 +0800</pubDate><description><![CDATA[实现原理
编写lua脚本代码实现缓存预热,将mysql里面的数据查出来存放到redis中去

编写lua脚本
创建一个lua文件夹，编写ad_update.lua脚本代码

在操作这个步骤的时候,我出现了attempt to perform arithmetic on field ‘packet_no’ (a nil value) 的错误

经过网络查找和求问老师后,最终发现出现这个错误的原因是因...]]></description><category></category></item><item><title><![CDATA[Java中的运算符及流程控制语句]]></title><link>https://blog.youkuaiyun.com/zuo19980407/article/details/104402319</link><guid>https://blog.youkuaiyun.com/zuo19980407/article/details/104402319</guid><author>zuo19980407</author><pubDate>Wed, 19 Feb 2020 23:43:46 +0800</pubDate><description><![CDATA[Java SE基础入门小结运算符算数运算符赋值运算符自增自减运算符逻辑运算符三元运算符流程控制语句顺序结构分支结构(if,switch)分支结构之if语句分支结构之switch语句循环结构(for,while,do...while)循环结构之for语句循环结构之while语句循环结构之do...while语句(掌握)三种循环的区别:
运算符
算数运算符
运算符：对常量或者变量进行操作的符号
表达式...]]></description><category></category></item><item><title><![CDATA[Java学习路线]]></title><link>https://blog.youkuaiyun.com/zuo19980407/article/details/104398309</link><guid>https://blog.youkuaiyun.com/zuo19980407/article/details/104398309</guid><author>zuo19980407</author><pubDate>Wed, 19 Feb 2020 19:52:37 +0800</pubDate><description><![CDATA[Java学习路线
学习java这么久了，写一篇自己的java学习路线过程，供初入门的java爱好者借鉴参考，话不多说，直接上货。
java语言入门（JavaSE）

想要学习java，就要知道java的介绍和电脑环境变量的配置，熟悉java语法知识，能够写出HelloWord程序，知道常量和变量的区别、数据类型及其之间的转换、流程控制语句、数组、内存结构、java中的方法等，一个程序员还要学会自己...]]></description><category></category></item><item><title><![CDATA[MySQL隔离级别]]></title><link>https://blog.youkuaiyun.com/zuo19980407/article/details/104269320</link><guid>https://blog.youkuaiyun.com/zuo19980407/article/details/104269320</guid><author>zuo19980407</author><pubDate>Tue, 11 Feb 2020 20:57:22 +0800</pubDate><description><![CDATA[MySQL隔离级别小结
在MySQL5.7中默认的隔离级别是：可重复读 REPEATABLE-READ。
四种事务特性（ACID）
原子性：Atomicity
一个事务应该是一个不可分割的工作单位，事务中包括的操作要么都成功，要么都不成功。

一致性：Consistency
事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。

隔离性：Isolation 
一个事...]]></description><category></category></item><item><title><![CDATA[记一次单表三级联动查询所有及分页]]></title><link>https://blog.youkuaiyun.com/zuo19980407/article/details/104072806</link><guid>https://blog.youkuaiyun.com/zuo19980407/article/details/104072806</guid><author>zuo19980407</author><pubDate>Wed, 22 Jan 2020 22:01:44 +0800</pubDate><description><![CDATA[记一次单表三级联动查询所有及分页@TOC
单表三级联动
一般单表的三级联动都会有parent_id这种字段来让数据之间有关联，这次我做的一个功能项就是看到这种数据库表设计

想要实现单表的三级联动,首先就要再pojo层的实体类中设置相应参数List集合必不可少,和它们对应的get,set方法

实现Server层
我是构建一个方法专门用来查询，然后获取所有的一级分类二级分类和三级分类，再进行合并分...]]></description><category></category></item><item><title><![CDATA[初识Java]]></title><link>https://blog.youkuaiyun.com/zuo19980407/article/details/100588991</link><guid>https://blog.youkuaiyun.com/zuo19980407/article/details/100588991</guid><author>zuo19980407</author><pubDate>Sat, 07 Sep 2019 02:57:08 +0800</pubDate><description><![CDATA[Java SE基础入门小结Java语言的发展Java语言的特点常用DOS命令1.打开DOS命令窗口:2.常用DOS命令:Java代码基本内容注释关键字常量数据类型变量标识符数据类型转换
Java语言的发展
Java语言是美国Sun公司在1995年推出的一门计算机语言,詹姆斯·高斯林(James Gosling)被尊称为Java之父.
Java语言的特点
Java语言具有开源,跨平台和面向对象的特点...]]></description><category></category></item></channel></rss>