- 浏览: 96500 次
- 性别:
- 来自: 青岛
最新评论
文章列表
又是一个坑~
自己买的百度服务器,在上面安装Git,git没安装完,发现使用shell工具登录不上了。
使用xshell提示错误:
FinalShell提示错误:
经过反复的试,发现用公司的网络会出现这问题,用手机热点就没问题。
一顿百度在加上自己的猜测,估计可能是公司的ip进黑名单了。
查SSH黑名单的资料发现:
概念:
java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法。对于任意一个对象,都能够调用它任意一个方法和属性。这种动态的获取信息以及动态调用对象的方法的功能成为java语言的反射机制。
要想解刨一个类,必须先获取到该类的字节码文件对象。使用的就是Class类中的方法。
反射就是把java类中的各种成分映射成一个个的java对象。
Class类的实例表示正在运行的java应用程序中的类和接口。Class没有公共构造方法。Class对象是在加载类的时候由java虚拟机以及通过调用类加载器中的方法自动构造的。不需要自己创建,JVM创建。
获取Class对 ...
springboot坏境下使用PageHelper不起作用
PageHelper.startPage(pageNo,pageSize);
上面语句跟随的mapper查出来的总是所有数据,并没有分页。
排查之后发现问题出在pom文件依赖错了,springboot坏境要用
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<ve ...
今天做项目的时候遇到一个很头疼的问题——无论在Java代码中如何统一编码为UTF8,在IDE中运行是完全没问题的,但打包成Jar通过Bash和CMD运行,都会出现中文乱码问题。起初是觉得Java编译时编码出现了问题,但经过几小时的排查,终于找到中文乱码问题的根源——cmd/bash默认的编码是GBK。
乱码共有两处:一处是控制台打印日志乱码,另一处是返回数据到前台,乱码。
解决:
控制台日志乱码:
打开cmd,输入以下命令
chcp 65001
这样就可以更改cmd的编码为UTF-8了。
数据结果乱码:
运行时,指定编码,启动命令改为:
java -Dfile.enco ...
WebSocket是什么?
WebSocket是一种在单个TCP连接上进行全双向通信的协议。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两 ...
排序算法(四)快速排序
- 博客分类:
- java
快速排序,就是给基准数据找其正确索引位置的过程.
如下图所示,假设最开始的基准数据为数组第一个元素23,则首先用一个临时变量去存储基准数据,即tmp=23;然后分别从数组的两端扫描数组,设两个指示标志:low指向起始位置,high指向末尾. 首先从后半部分开始,如果扫描到的值大于基准数据就让high减1,如果发现有元素比该基准数据的值小(如上图中18<=tmp),就将high位置的值赋值给low位置 ,结果如下: 然后开始从前往后扫描,如果扫描到的值小于基准数据就让low加1,如果发现有元素大于基准数据的值(如上图46=>tmp),就再将low位置的值赋值 ...
排序算法(三)插入排序
- 博客分类:
- java
举例:打牌时我们一张张的摸牌,将摸到的牌插入手牌的”顺子”里,凑成更长的顺子,这就是插入排序的含义。
设无序数组a[]长度为N,以由小到大排序为例。插入的原理是这样的: 1.初始时,第一个数据a[0]自成有序数组,后面的a[1]~a[N-1]为无序数组。令 i = 1; 2.将第二个数据a[1]加入有序序列a[0]中,使a[0]~a[1]变为有序序列。i++; 3.重复循环第二步,直到将后面的所有无序数插入到前面的有序数列内,排序完成。
插入排序是一种比较快的排序,因为它每次都是和有序的数列进行比较插入,所以每次的比较很有”意义”,导致交换次数较少。
例子:
从小到大排序: 结 ...
场景:
访问UAT环境,只能使用客户电脑访问,太难用了,于是就需要在自己电脑上跑代码,通过客户电脑中转来访问uat环境的数据库。
选用nginx进行转发。配置如下:
stream {
upstream cloudsocket {
hash $remote_addr consistent;
...
问题: 找到mysql/bin的位置,正常情况下是 /usr/local/mysql/bin
添加到环境变量中
vi /etc/profile
在最后添加:export PATH=$PATH:/usr/local/mysql/bin 保存退出。(先按ESC键,在按I键,进入编辑模式,先按ESC键,在输入:wq保存退出)
是修改生效:source /etc/profile
mysql命令可以使用了。
使用如下语句添加用户:
insert into mysql.user(Host,User,Password) values ("%","aas","Aas123456");
错语原因:
mysql用户表的中某些字段不能为空,没有默认值,其实是操作错误,mysql添加用户是不能这样直接insert user表的。
解决:
create user 'aas'@'%' identified by 'Aas123456';
mysql新加用户并赋予指定库的权限
- 博客分类:
- 数据库
连接mysql,mysql -uroot (本机的root用户,无需密码,mysql -uroot -p 需要输入密码)
创建用户,create user 'user'@'%' identified by 'password'; %指的是可以在其他机器上连接,如果是localhost表示只可以本机访问。
赋与指定库的权限,grant all on baseName.* to 'user'@'%' identified by 'password';
刷新权限,flush privileges;
报错:
com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1078 > 1024). You can change this value on the server by setting the max_allowed_packet' variable.
at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3678) ~[mysql-connector-java-5.1.45.jar:5.1.45]
at com.mysql.jdbc.MysqlIO.s ...
Springboot配置文件单独放在服务器上
- 博客分类:
- Spring
首先声明,这个自动部署,只是把配置文件单独放在服务器上进行配置,修改了配置文件,仍然需要重启!只是减少了不必重新打包这一步!脚本见附件。
1.总结脚本原理执行脚本->获取同级目录下的包->读取包的信息->判断是否在运行->在运行的杀掉->执行启动命令,并指定配置文件路径->打印执行是否成功
2.SpringBoot加载外部文件原理1)SpringBoot从application.properties或者application.yml读取配置.2)SpringApplication会默认将命令行选项参数转换为配置信息.3)从命令行指定配置项的优先级最高(可 ...
选中需要导出表结构的数据库,右键,在菜单中选择“数据传输”这一项,在弹出窗口中“数据传输”单击选项“高级”一项,在“高级”中把“记录选项”中的勾去掉,在做一些设置,最后导出表数据就不会导出记录了。
即 选中数据库 --> 右键 --> 数据传输 --> 高级 --> 取消勾选记录选项。
步骤如下图所示:
转自:https://wenku.baidu.com/view/c60d6826a300a6c30c229fa5.html
HttpClient设置连接超时时间
- 博客分类:
- java
使用HttpClient,一般都需要设置连接超时时间和获取数据超时时间。这两个参数很重要,目的是为了防止访问其他http时,由于超时导致自己的应用受影响。
4.5版本中,这两个参数的设置都抽象到了RequestConfig中,由相应的Builder构建,具体的例子如下:
CloseableHttpClient httpclient = HttpClients.createDefault();
HttpGet httpGet = new HttpGet("http://www.baidu.com");
RequestConfig requestConfig = Req ...