mysql字符集问题:Illegal mix of collations
数据库中查询报错:1Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=';
更改mysql的my.ini,把client和server的字符集改为utf8
更改表以及字段的的字符集为utf8
Illegal mix of collations 处理方法12ALTER TABLE so_publish_rule CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;ALTER TABLE so_video_file_deploy CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
查看Mysql当前使用的字符集:提供以下三种12345show variables like '%char%';show table status from datebase like ' ...
JVM内存详解(JAVA程序员必啃)
Java语言本身是不能操作内存的,它的一切都是交给JVM来管理和控制的,因此Java内存区域的划分也就是JVM的区域划分。Java代码被编译器编译成字节码之后,JVM开辟一片内存空间(运行时数据区),通过类加载器加到运行时数据区来进行存储程序执行期间需要用到的数据和相关信息,在这个数据区中,由以下几部分组成:
1. 虚拟机栈 虚拟机栈是Java方法执行的内存模型,栈中存放着栈帧,每一个栈帧对应一个被调用的方法,方法调用的过程对应着栈帧在JVM中从入栈到出栈的过程。
栈的线程是私有的,执行每一个方法都会相应的创建一个栈帧,放到栈中(入栈),而且是放在栈顶。在方法结束后,栈帧出栈。
1.1 栈帧 用于支持虚拟机进行方法的调用和方法的执行的数据结构,它是虚拟机运行时数据区中的栈空间的栈元素。每个栈帧中包括:
1.1.1 局部变量表 用于存储方法中的局部变量(不包括静态变量和方法形参)。当变量为基本数据类型时,直接存储值,当变量为引用数据类型时,存储指向具体对象的引用。
1.1.1.1 基本数据类型的存储A. 基本数据类型的局部变量 在方法内定义的变量直接存储在栈中 ...
Java多线程编程
1.概述
Java给多线程编程提供了内置的支持,一个多线程程序包含两个或多个能并发运行的部分
程序的每一个部分都称为一个线程,并且每个线程定义了一个独立的执行路径
多线程是多任务的一种特别的形式,但多线程使用了更小的·资源开销
这里定义和线程相关的另一个术语,进程:一个进程包括由操作系统分配的内存空间
包含一个或者多个线程,一个线程不能独立的存在,它必须是进程的一部分
一个进程一直运行,直到所有的非守候线程都结束运行后才能结束。
多线程能满足程序员编写高效率的程序来达到充分利用CPU的目的。
1. 新建状态使用new关键字和Thread类或者其子类建立一个线程对象后,该线程对象就处于新建状态。它保持这个状态直到程序start()这个线程
2. 就绪状态当线程对象调用了start()方法之后,该线程就进入就绪状态,就绪状态的线程处于就绪列队中,要等待JVM里线程调度器的调度
3. 运行状态如果就绪状态的线程获取CPU资源,就可以执行run(),此时线程便处于运行状态
处于运行状态的线程最为复杂,它可以变为阻塞状态,就绪状态和死亡状态
4. 阻塞状态如果一个线程执行了sle ...
vue生命周期
1234567beforeCreate : function(){组件实例化之前调用el和data并未初始化}
1234567created : function(){组件实例化完毕,但页面还未显示完成了data数据的初始化,el没有}
1234567beforeMount : function(){组件挂载前,页面未显示,但虚拟DOM已经配置完成了el和data初始化}
1234567mounted : function(){组件挂载之后,此方法执行后,页面显示完成挂载}
12345beforeUpdate : function(){组件更新前,页面未显示,但虚拟DOM已经配置}
12345updated : function(){组件更新,此方法执行后页面显示}
12345beforeDestory : function(){组件销毁前}
12345destoryed : function(){组件销毁}
前端公共库CDN(整理)
概述(百科)CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。
基本思路基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。
CDN公共库百度完这么多废话,接下来上实际。稳定、快速、免费的前端开源项目 CDN 加速服务
https://www.bootcdn.cn/
不过最近这个在更换CDN服务商,下面是他的公告。
https://libs.cdnjs.net ...
Oracle函数
Oracle符号 || 字符串拼接 例如:
1'abc' || 'def' = 'abcdef'
1row_number() over (partition by a order by b)
Oracle中DUAL用法12SELECT SYSDATE FROM DUAL //查询当前系统时间SELECT USER FROM DUAL //查询当前用户
Oracle中NVL用法1nvl(str1,str2)
如果str1为null,就返回str2,否则返回str1
Oracle中NVL2用法1nvl2(str1,str2,str3)
如果str1为null,就返回str3,若str1不为null,则返回str2
Oracle中CASE用法123456SELECT u.*, (CASE WHEN u.isCredit='Y' THEN '是' WHEN u.isCredit='N' THEN '否' ...
java的排序算法
1.概述 排序算法分为内部排序和外部排序,内部排序把数据记录放在内存中进行排序,而外部排序因排序的数据量大,内存不能一次容纳全部的排序记录,所以在排序过程中需要访问外存。
冒泡排序冒泡排序(Bubble Sort)是一种简单的排序算法。它重复访问要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。访问数列的工作是重复地进行直到没有再需要交换的数据,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端,像水中的气泡从水底浮到水面。
12345678910111213141516171819202122232425262728public class SortFunction{ public static int[] fun1 (int[] array){ for(int i=0; i<array.length-1; i++){ for(int j=0; j<array.length-1-i; j++){ ...
nginx常用命令和基本操作及问题解决
nginx常用命令: 启动nginx./usr/local/nginx/sbin/nginx停止nginxnginx -s stop重启nginx./sbin/nginx -s reloadnginx -s reload查看进程ps aux | grep nginx验证配置是否正确: nginx -t查看Nginx的版本号:nginx -V
启动Nginx:start nginx快速停止或关闭Nginx:nginx -s stop正常停止或关闭Nginx:nginx -s quit配置文件修改重装载命令:nginx -s reload
解决nginx加tomcat的8080端口开放问题server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / ...
Spring Boot 配置文件数据源加密
概述开发的同学们都知道,例如项目依赖的信息,数据库信息一般是保存在配置文件中,而且都是明文,因此需要进行加密处理,今天在这里介绍下jasypt集成springboot加密的配置
第一步:pom文件加入依赖12345<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>2.1.0</version></dependency>
第二步:生成密钥(在windows下命令生成加密密文)找到你的maven仓库路径 ====G:\maven\repository\org\jasypt\jasypt\1.9.2====,替换下面的路径。
参数说明:
input = 数据库链接密码
password = 加密字段,随 ...
markdown基本语法使用
markdown 语法十分简单,非常有利于写作,这里做一个简单介绍。
#表示标题,##表示2级标题,同理####表示4级标题
表示标题表示2级标题,同理表示4级标题
空行表示新的段落,如果不空行的话,markdown 认为是同一段落
A 这样样式表示为链接,A为你想要显示的文字,B为实际的链接
这种样式表示图片,A为图片的描述文字,B为图片链接
*表示无序列表
A
B
C
1,2,3 表示有序列表1 A2 B3 C
1System.out.print();
创建文章的文件发表一篇新文章,你所需要做的就是在 _posts 文件夹中创建一个新的文件。文件名的命名非常重要。Jekyll 要求一篇文章的文件名遵循下面的格式:
1年-月-日-标题.MARKUP
在这里,年是 4 位数字,月和日都是 2 位数字。MARKUP扩展名代表了这篇文章是用什么格式写的。下面是一些合法的文件名的例子:2011-12-31-new-years-eve-is-awesome.markdown2011-12-31-new-years-eve-is-awesome.md2012-09-12-how-t ...