Mysql去除字符串中的特殊字符及varchar转int
场景描述Mysql中有varchar类型字段,并且为:123,456 形式,需要对其进行排序,并根据条件筛选出前5条
模拟表数据表名:table_a
t_id(int)
t_year(int)
t_value(varchar)
1
2019
123,456
Mysql去除字符串中的特殊符号使用到的函数:REPLACE(str,from_str,to_str)
用法
str:需要操作的字段
from_str:字段中的特殊符号
to_str:需要替换成什么样
这里把t_value值为:123,456中的”,” 去掉,也就是替换成空。 SQL:
SELECT REPLACE(t_value,",","") FROM table_a;
Mysql中varchar转int使用到的函数: CAST(Filed AS UNSIGNED INTEGER)
用法
Filed:为需要转换的字段名
这里需要先把t_value中的”,”去掉然后再转成int SQL:
SELECT CAST(REPLACE(t_value,",","& ...
JSONArray根据JSONObject某key值排序
/** * @Author: www.itze.cn * @Email: 814565718@qq.com * getString:字段类型, * key:JSONObject的key值 */JSONArray jsonArray = new JSONArray();//升序jsonArray.sort(Comparator.comparing(obj->((JSONObject)obj).getString("key")));//降序jsonArray.sort(Comparator.comparing(obj->((JSONObject)obj).getString("key")).reversed());
Tomcat服务安全配置及性能优化
Tomcat内存溢出常见的溢出异常及导致原因
OutOfMemoryError:Java heap space 异常,通常是堆内存满了,堆内存默认使用最大是系统的4分之1,最小64分之1
OutOfMemoryError:PermGen space 异常,通常是静态内存区满了,Jdk8以上没了
StackOverflowError异常,通常栈内存满了,通常是死循环,递归导致
内存配置修改编辑tomcat的Bin文件夹中catalina文件,服务器是Windows就修改.bat的,是Linux就修改.sh在第二行加入,Windows的去掉前面的set
set JAVA_OPTS="-server -Xms256m -Xmx512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m"
修改默认8005端口修改编辑tomcat中conf文件夹中server.xml配置文件,把如图中的端口号或SHUTDOWN 至于为什么修改这个,这是一个安全配置项,默认的情况下,如果知道远程tomcat服务器的IP,可以在本地通过tel ...
Nginx配置404错误页面跳转
server{ listen 80; server_name www.itze.cn; index index.html; root /nginx/html/web; location / { root html; index index.html index.htm; proxy_intercept_errors on; #开启拦截404等错误 } #配置错误页面跳转 error_page 404 /404.html; location = /404.html { root /nginx/error; #这里是404文件所在目录的绝对路径!!! }}
Xshell:需要Xmanager软件来处理X11转发请求
问题描述一个页面验证码图片出不来,Xshll报需要Xmanager软件来处理X11转发请求弹框
解决办法两个解决办法 1. 去下载Xmanager试用版 2. 在Xshell连接会话中设置,在所有会话选择需要设置的连接-右键属性-隧道-取消转发请求对勾,如下图
Java多线程-守护线程
守护线程注意事项 注:图片来自网络(若侵则删) 守护线程特点:一旦所有用户线程都结束,守护线程会随JVM一起结束。 用代码来证明第三条所说,不是所有的任务都可以分配给守护线程来执行。
场景描述把一个正在向文件中执行写入操作的线程设置为守护线程,在写入过程中结束用户主线程,那么该守护线程也会随之结束。
示例代码/** * @Author: www.itze.cn * @Email: 814565718@qq.com */class MyThread3 implements Runnable { @Override public void run() { int count = 0; File file = new File("D:" + File.separator + "word.txt"); while (count < 99) { try { OutputStreamWriter writer ...
Java多线程基本使用及模拟购票
Java中实现多线程的方法的两种方式
继承Thread类
实现Runnable接口
由于Java是单继承多实现,因此第一种继承Thread类会用一定局限性
线程的生存周期 注:图片来自网络(若侵则删)
图解
创建:当new Thread()时则线程被创建
就绪:当调用start()方法时线程处于就绪状态,此时的线程并不一定是已经被执行,此时CPU有可能正在执行其 他线程
运行:线程获取到CPU资源执行Run()方法里面的代码,进入运行状态
终止:Run()方法中代码执行完毕,终止线程。
阻塞状态:阻塞的情况,如果在Run()方法中加入了wait()/join()/sleep()等方法,此时线程处于阻塞状态, 将让出CPU资源给其他线程,在该线程被唤醒之后将再次进入就绪状态,等待有空闲的CPU资源。
Runnable的代码可以被多个线程(Thread实例)共享,适合多个线程处理同一资源的问题,而继承Thread类不会,用两种方式写个例子证明一下
使用继承Thread类/** * @Author: www.itze.cn * @Email: 814565718@qq ...
Java生成/解析二维码-ZXing的使用
Java生成二维码常用的两种方式: - Google的ZXing - Denso公司的QRCode 至于两者的区别自行百度,这里介绍使用ZXing生成解析二维码
前期准备添加ZXing依赖Jar包
<!--ZXing 二维码 --><dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.3.0</version></dependency><dependency> <groupId>com.google.zxing</groupId> <artifactId>javase</artifactId> <version>3.3.0</version></dependency>
ZXing生成二维码/** * @param conte ...
Java自定义注解及解析注解
自定义注解类名:Descimport java.lang.annotation.*;/** * @Author: www.itze.cn * @Date: 2020/09/13 14:58 * @Email: 814565718@qq.com *//** * @Target:注解的作用范围,METHOD:作用在方法上,TYPE:作用在类上 * @Retention:注解的生命周期,RUNTIME:运行时 * @Inherited:子类继承父类,只能解析到类层,方法层解析不到 */@Target({ElementType.METHOD,ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Inheritedpublic @interface Desc { //成员组成必须是无参/无异常 String value();}
注解使用类名:DescMethod/** * @Author: www.itze.cn * @Date: 2020/09/13 15:20 * @Email: 81 ...
Twitter4J-操作Twitter配置
开发语言:Java 操作系统:window10 开发工具:IDEA JDK版本:1.8
前期准备需要翻墙,首先在Twitter申请一个开发者账号,然后在开发者中心创建一个project Twitter开发者地址:https://developer.twitter.com/en 自己想办法通过申请 创建Project之后,首先按照如下图设置权限
设置权限 第二步设置,找到keys and tokens 保存这四个密钥值
设置密钥 API key API key secret 下面这两个保存下来,貌似每次生成只能看到一次 Access Token Access secret Token
Twitter4JTwitter4J官网:http://twitter4j.org/en/index.html
配置Twitter4J依赖配置Twitter4J依赖Jar包,我这里选择Maven配置
<!-- Twitter4j --><dependency> <groupId>org.twitter4j</groupId> <artifa ...