`
文章列表
又是一个坑~ 自己买的百度服务器,在上面安装Git,git没安装完,发现使用shell工具登录不上了。 使用xshell提示错误:    FinalShell提示错误:    经过反复的试,发现用公司的网络会出现这问题,用手机热点就没问题。 一顿百度在加上自己的猜测,估计可能是公司的ip进黑名单了。 查SSH黑名单的资料发现:

java反射

    博客分类:
  • java
概念: 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是什么? WebSocket是一种在单个TCP连接上进行全双向通信的协议。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两 ...
      快速排序,就是给基准数据找其正确索引位置的过程.  如下图所示,假设最开始的基准数据为数组第一个元素23,则首先用一个临时变量去存储基准数据,即tmp=23;然后分别从数组的两端扫描数组,设两个指示标志:low指向起始位置,high指向末尾.  首先从后半部分开始,如果扫描到的值大于基准数据就让high减1,如果发现有元素比该基准数据的值小(如上图中18<=tmp),就将high位置的值赋值给low位置 ,结果如下:  然后开始从前往后扫描,如果扫描到的值小于基准数据就让low加1,如果发现有元素大于基准数据的值(如上图46=>tmp),就再将low位置的值赋值 ...
举例:打牌时我们一张张的摸牌,将摸到的牌插入手牌的”顺子”里,凑成更长的顺子,这就是插入排序的含义。 设无序数组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 -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 ...
首先声明,这个自动部署,只是把配置文件单独放在服务器上进行配置,修改了配置文件,仍然需要重启!只是减少了不必重新打包这一步!脚本见附件。 1.总结脚本原理执行脚本->获取同级目录下的包->读取包的信息->判断是否在运行->在运行的杀掉->执行启动命令,并指定配置文件路径->打印执行是否成功 2.SpringBoot加载外部文件原理1)SpringBoot从application.properties或者application.yml读取配置.2)SpringApplication会默认将命令行选项参数转换为配置信息.3)从命令行指定配置项的优先级最高(可 ...
选中需要导出表结构的数据库,右键,在菜单中选择“数据传输”这一项,在弹出窗口中“数据传输”单击选项“高级”一项,在“高级”中把“记录选项”中的勾去掉,在做一些设置,最后导出表数据就不会导出记录了。 即 选中数据库 --> 右键 --> 数据传输 --> 高级 --> 取消勾选记录选项。 步骤如下图所示:       转自:https://wenku.baidu.com/view/c60d6826a300a6c30c229fa5.html
使用HttpClient,一般都需要设置连接超时时间和获取数据超时时间。这两个参数很重要,目的是为了防止访问其他http时,由于超时导致自己的应用受影响。 4.5版本中,这两个参数的设置都抽象到了RequestConfig中,由相应的Builder构建,具体的例子如下: CloseableHttpClient httpclient = HttpClients.createDefault(); HttpGet httpGet = new HttpGet("http://www.baidu.com"); RequestConfig requestConfig = Req ...
Global site tag (gtag.js) - Google Analytics