![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 66
middle11
这个作者很懒,什么都没留下…
展开
-
order by 具有重复值的列时存在顺序不固定的问题(oracle ,mysql都存在这个问题)
一、问题背景:数据A单独查询时,能查出数据;但是把表全部的数据分页查询出来之后却发现不包含数据A二、分析问题:出现这个问题,首先就想到分页的SQL语句是不是有问题,然后就去看代码,发现代码一切正常,并没有哪里不妥,后面左看右看终于定位到order by排序的那个列是不是有问题,怀疑这个列会有重复值可能会导致分页查询的顺序不固定。然后就把分页查询出来的结果,对某个列的值出现的次数进行统计并按次数降序,再去和数据库表的这个列group by出现的次数并按次数降序进行比较,发现两种统计方式的结果差别很原创 2021-03-23 22:52:00 · 576 阅读 · 0 评论 -
dubbo问题汇总
1、dubbo 服务返回结果,默认最大值为8M,可以通过配置修改Caused by: com.alibaba.dubbo.remoting.RemotingException: Data length too large: 18061883, max payload: 8388608原创 2020-10-22 16:44:08 · 467 阅读 · 0 评论 -
mybatis generator 配置文件介绍
一、init.properties 文件内容:classPath=C:\\repository\\mysql\\mysql-connector-java\\8.0.18\\mysql-connector-java-8.0.18.jarjdbc_driver=com.mysql.cj.jdbc.Driverjdbc_url=jdbc:mysql://127.0.0.1:3306/fhm_...原创 2020-01-20 20:31:59 · 247 阅读 · 0 评论 -
多线程知识点
一、公平锁和非公平锁公平锁:就是很公平,在并发环境中,每个线程在获取锁时会先查看此锁维护的等待队列,如果为空,或者当前线程是等待队列的第一个,就占有锁,否则就会加入到等待队列中,以后会按照FIFO的规则从队列中取到自己非公平锁:比较粗鲁,上来就直接尝试占有锁,如果尝试失败,就再采用类似公平锁那种方式...原创 2018-04-10 23:45:26 · 114 阅读 · 0 评论 -
动态代理
动态代理的两种方式:Jdk动态代理,Cglib动态代理Jdk动态代理:只能为 interface 代理Cglib动态代理:无法代理 final 修饰的类CGLIB创建的动态代理对象比JDK创建的动态代理对象的性能更高,但是CGLIB创建代理对象时所花费的时间却比JDK多得多。所以对于单例的对象,因为无需频繁创建对象,用CGLIB合适,反之使用JDK方式要更为合适一些。同时由于CGLib...原创 2018-04-22 15:20:06 · 135 阅读 · 0 评论 -
同步辅助类 java.util.concurrent.CountDownLatch
一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。用给定的计数 初始化 CountDownLatch。由于调用了 countDown() 方法,所以在当前计数到达零之前,await 方法会一直受阻塞。之后,会释放所有等待的线程,await 的所有后续调用都将立即返回。这种现象只出现一次——计数无法被重置。如果需要重置计数,请考虑使用 CyclicBarrier。...原创 2018-04-06 21:25:01 · 324 阅读 · 0 评论 -
事务管理
一、基于注解的事务:<!-- 配置事务管理器 --><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="datasource" />&...原创 2018-11-28 10:05:11 · 99 阅读 · 0 评论 -
gson , fastjson , jackson 使用
public class Student { /** * 1、gson javabean 和 json串映射注解 * @SerializedName("MY_NAME") * * 2、fastjson javabean 和 json串映射注解 * @JSONField(name = "MY_NAME") * * 3、j...原创 2018-12-02 19:55:02 · 189 阅读 · 0 评论 -
maven settings.xml 文件私服地址和 pom.xml配置的私服地址同时生效的问题
settings.xml 配置:<?xml version="1.0" encoding="UTF-8"?><settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...原创 2019-01-17 10:09:28 · 7884 阅读 · 0 评论 -
spring boot 响应数据乱码问题
spring boot 响应数据乱码问题(部分中文乱码)问题:spring boot 网关zuul 和 service-info返回的资讯数据存在部分中文乱码问题:解决方法:在网关zuul的后置过滤器(post过滤器):由 字节流取数据改为使用字符流取数据因为使用字节流取数据,有可能会截取到半个字,导致乱码RequestContext ctx = RequestCon...原创 2019-02-18 14:27:35 · 1243 阅读 · 0 评论 -
spring 定时任务@Scheduled 讲解
spring 定时任务@Scheduled ,默认一个进程里,所有的@Scheduled 定时任务都在同一个线程中运行。即单线程模式若要修改为多线程模式,需要加一个配置,如下:@Configurationpublic class ScheduleConfig implements SchedulingConfigurer { @Override public void...原创 2019-02-20 11:09:45 · 198 阅读 · 0 评论 -
处理图片为指定的尺寸
package com.example.demo.module.pic;import javax.imageio.ImageIO;import java.awt.*;import java.awt.image.BufferedImage;import java.io.*;import java.net.URL;import java.net.URLConnection;impor...原创 2019-03-06 09:39:24 · 762 阅读 · 0 评论 -
mybatis操作
批量新增数据:@Insert("<script>" + " INSERT IGNORE INTO news_status(news_id) VALUES" + " <foreach collection='newsIdList' item='newsId' separator=','>" + " (...原创 2019-04-22 11:05:23 · 120 阅读 · 0 评论 -
关于网络异常,导致阻塞的问题
1、机房被攻击,导致网络异常,使用 apache 的 httpclient 抓数据,导致程序阻塞,假死原因:使用httpclient没有设置 connectTimeout 和 socketTimeout 的超时时间,而默认值为this.connectTimeout = -1;this.socketTimeout = -1;解决方案:程序中最好设置connectTimeout、sock...原创 2019-06-21 11:02:18 · 3002 阅读 · 0 评论 -
根据步长,删除对应的数据,一直循环,直到只剩最后一个数据
根据步长,删除对应的数据,一直循环,直到只剩最后一个数据,请问最后一个数据是什么?例如:1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 有这组数据组成一个圈,每次删除第7个数据,删除后,从第8个数据开始重新计数,依然是删除第7个数据,如此循环,直到只剩一个数据,求最后剩余的数据是什么?import java.util.ArrayList;import java.uti...原创 2018-04-10 21:55:23 · 434 阅读 · 0 评论 -
post提交文件类型
低版本httpclient4.1.2.jar使用例子:import java.io.BufferedInputStream;import java.io.File;import java.io.IOException;import java.nio.charset.Charset;import org.apache.http.HttpResponse;import org.apache...原创 2018-04-03 15:41:16 · 2496 阅读 · 0 评论 -
二维数组计算对角个数算法
有一个任意二位数组,且元素为0或1, 求该二位数组的对角个数?对角的定义:四个角都是1的四边形即为一个对角。/** * @desc 计算对角的个数 * */public class Test { public static void main(String[] args) { int m = 5; int n = 6; int a[][] = initTable(m, n);...原创 2018-04-15 15:06:07 · 694 阅读 · 0 评论 -
volatile 和 transient
1.transient 序列化的对象包含被 transient 修饰的实例变量时,java 虚拟机(JVM)跳过该特定的变量。即使用该修饰符的变量不被序列化public transient int limit = 55; // 不会持久化public int b; // 持久化2.volatile 线程可见性修饰符volatile 修饰的成员变量在每次被线程访问时,都强制从共享内存中重新读...原创 2018-03-30 20:59:31 · 150 阅读 · 0 评论 -
java 网络编程概念
一、网络:将不同区域的计算机连接到一起 如:局域网、城域网、广域网二、地址:IP地址 确定网络上的一个绝对地址或位置 如:房子的地址三、端口号:区分计算机软件的,为两个字节 0 ~ 65535 共65536个端口号, 如:房子的房门1、在同一个协议下,端口号不能重复;不同协议下,端口号可以重复2、1024以下端口号不建议使用,这是预留给一些固定厂商使用 如:80:http 21:ftp四、资...原创 2018-03-31 11:55:58 · 130 阅读 · 0 评论 -
UDP传输
UDP:java.net.DatagramSocket 、 java.net.DatagramPacket步骤、创建服务端和客户端一、创建服务端1、创建服务端 DatagramSocket ,指定接收数据的ip地址和端口2、准备接收数据的容器-字节数组,封装为DatagramPacket3、用DatagramPacket包接收数据4、分析数据5、释放资源二、创建客户端1、创建客户端 Datagra...原创 2018-03-31 14:48:30 · 184 阅读 · 0 评论 -
java集合框架
一、线程安全的集合类:1、向量类 Vertor : 除了多了同步方法,其他的和ArrayList是一样的。底层是数组2、栈类 Stack 先进后去3、哈希表 Hashtable : 除了多了同步方法,其他的HashMap一样的,但是key和value都不能为null,而HashMap可以为null二、非线程安全的集合类规则集:1、散列集 HashSet 无序,底层是HashMa...原创 2018-03-31 16:26:38 · 129 阅读 · 0 评论 -
rabbitMQ
使用默认的账号guest登陆管理控制台,却提示登陆失败。翻看官方的release文档后,得知由于账号guest具有所有的操作权限,并且又是默认账号,出于安全因素的考虑,guest用户只能通过localhost(http://localhost:15672)登陆使用,并建议修改guest用户的密码以及新建其他账号管理使用rabbitmq(该功能是在3.3.0版本引入的)。1. 用户管理用户管理包括增...原创 2018-03-31 16:30:13 · 152 阅读 · 0 评论 -
TCP传输
TCP :java.net.ServerSocket 、 java.net.Socket步骤、创建服务端和客户端一、创建服务端:使用ServerSocket类1、用 ServerSocket 创建服务器,指定端口2、接收客户端连接,阻塞式等待3、连接好了之后, 使用输出流发送数据到套接字(一块公共区域)4、释放资源二、创建客户端:使用Socket类1、用 Socket 创建客户端,指定服务端的IP...原创 2018-03-31 17:44:38 · 99 阅读 · 0 评论 -
TCP传输 多人聊天
一个简单的多人聊天:服务端:/*1、用 ServerSocket 创建服务器,指定端口2、接收客户端连接,阻塞式等待3、连接好了之后, 使用输出流发送数据到套接字(一块公共区域) */public class MyTCPService { public static List<MyChannel> allChannelList = new ArrayList<>...原创 2018-03-31 21:35:07 · 1326 阅读 · 0 评论 -
使用socket模拟tomcat
public class SimulationTomcat { private static final String line = "\r\n"; public static void main(String[] args) throws IOException { ServerSocket serverSocket = new ServerSocket(8888); while(...原创 2018-04-01 00:00:24 · 509 阅读 · 0 评论 -
反射基础 reflect
JAVA反射机制:1、指的是可以于运行时加载、探知、使用编译时完全未知的类2、程序在运行状态中,可以动态加载一个只有名称的类,对于任意一个已加载的类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制3、一个类被加载后,JVM会创建一个对应该类的Class对象,类的整个结构信息会放在对应的C...原创 2018-04-01 13:30:11 · 122 阅读 · 0 评论 -
B树 、 B+
一、B树:是空树,或者是满足下列性质的树:一棵m阶(最多m个子树)B树(balanced tree of order m)是一棵平衡的m路搜索树1、根结点至少有两个子树2、每个非根结点所包含的关键字个数 j 满足:m/2 - 1 <= j <= m - 1如:M=11 则, 5 <= 结点关键字个数 j <= 10 而 6 <= 结点子树个数 k <...原创 2018-04-08 23:50:01 · 138 阅读 · 0 评论 -
通过反射读取自定义注解
一、自定义注解 Tablepackage com.sh.fhm.MavenTest.reflect;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annota...原创 2018-04-01 17:07:11 · 206 阅读 · 0 评论 -
gc机制
Java垃圾回收机制一、垃圾回收算法类型:1、引用计数法堆中每个对象都有一个引用计数,被引用一次,计数加1,(a = b,则b引用的对象实例的计数器+1)当引用变量值变为null,则计数减1,直至变为0,则变为无用对象。优点:引用计数收集器可以很快的执行,判定效率很高缺点:无法识别互相引用的无用对象的情况2、引用可达法(比较常用)程序把所有的引用关系看作成一张图,从一个...原创 2018-04-09 22:04:55 · 298 阅读 · 0 评论 -
java动态编译执行
import java.io.BufferedInputStream;import javax.tools.JavaCompiler;import javax.tools.ToolProvider;/* * 动态编译执行代码 */public class Test { public static void main(String[] args) { //编译 HelloWor...原创 2018-04-02 15:41:50 · 207 阅读 · 0 评论 -
jdk1.6 could not generate dh keypair 处理方法。
1、下载两个bcprov-ext-jdk15on-1.52和bcprov-jdk15on-1.52 r的jar包,然后将这两个jar包放到$JAVA_HOME/jre/lib/ext 下,2、再编辑$JAVA_HOME/jre/lib/security/java.security,在9下面加上这句 security.provider.10=org.bouncycastle.jce.p原创 2017-07-05 22:26:11 · 2576 阅读 · 1 评论