Java
码农脱贫
公众号:码农脱贫
座右铭:这个世界上唯一可以不劳而获的是贫穷;唯一可以无中生有的是梦想!
展开
-
(一分钟看懂4种拒绝策略) java多线程拒绝策略
一分钟看懂4种拒绝策略原创 2022-08-11 11:07:38 · 817 阅读 · 0 评论 -
class加载过程和双亲委派模型
原创 2022-03-12 13:24:08 · 462 阅读 · 0 评论 -
根据变量名例用反射获取实体对应的值
/** * 根据变量名字,来获取实体对应字段的值 * @param element * @param o * @return */ public static Map<String, Object> getMapByEntityElement(String[] element, Object o){ try { Class aClass = o.getClass(); ..原创 2021-10-29 17:48:54 · 270 阅读 · 0 评论 -
将一个数组中所有的奇数放左边,偶数放右边
package com.itheima.homework;/*34、定义一个方法,接收一个int数组,在方法内新建一个数组, 将传进来的数组中的元素装进去,但是要求奇数在左边偶数在右边。 最后返回这个新数组。在main方法中调用定义数组,调用该方法,获取返回值, 并遍历输出返回的数组*/public class Test34 { public static ...原创 2018-12-02 14:23:36 · 4100 阅读 · 0 评论 -
5分钟学会Juint单元测试
开发工程狮需要了解的单元测试原创 2019-01-18 20:25:33 · 1068 阅读 · 0 评论 -
(单元测试)spring整合junit基于mawen工程快速使用
第一步:在pom.xml导坐标<!-- spring整合junit--><dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>5.0.2.RE原创 2019-03-13 14:31:00 · 109 阅读 · 0 评论 -
微信支付对接记录,和遇到的坑,总结!并附带微信支付工具类,只需要替换几个参数就可以直接使用!
第一个坑,签名获取,微信是两次签名加密,要按照微信官方文档一步步查看参数是否正确.第二个坑,md5加密,我用到网上的md5加密方法,当小程序调起微信支付的时候一直报签名失败,最后发现是签名的md5加密的问题.第三个坑,两次签名加密如果用到时间戳和随机字符串,一定要保持一致,用同一个,否则也会报出签名异常.第四个坑,微信支付不能重复提交不一样的订单,比如:用户待付款,商家修改价格,然后提交就会出现订单重复问题.解决方案:就是业务订单号和支付订单号分开处理,每次支付都生成支付单号就也可以解决..原创 2020-12-26 17:06:29 · 514 阅读 · 0 评论 -
用idea新建项目一个maven项目简单教程
1第一步2第二步选择maven项目,选择webapp的结构,创建出来的maven会带有webapp的目录。3第三步。设置项目名称和路径4 配置maven路径信息56创建maven项目一定要联网,当打印台出现[INFO] Maven execution finished就说明成功了...原创 2020-02-29 18:25:57 · 1037 阅读 · 0 评论 -
郑州10kjava上机题(查找数组arr中第k大的奇数,如果不存在则返回0. (arr[i] > 0 (i>=0)))解题思路:冒泡排序
题目:查找数组arr中第k大的奇数,如果不存在则返回0. (arr[i] > 0 (i>=0))计算出时间复杂度(注意代码注释,不要使⽤库函数或脚本中已经实现好的排序算法和⼯具, 需要⾃⼰实现数据结构和所需要的算法)格式:public int findKth(int[] arr, int k){//代码}我的一种解题思路:public static int f...原创 2019-12-27 14:05:13 · 1645 阅读 · 0 评论 -
【比较实用的jaiva工具类】获取随机指定位数的流水号
第一个方法直接调用就可以生成num位的流水号(该流水号是以当前时间:年月日时分秒开始的),保证每一个都不会重复。注意,传入的参数num数字要大于13要不然生成的随机数没有什么意义。第二个方法直接调用就可以生成完全随机的流水号,根据当前时间戳生成的,可以保证唯一。/** * 可以获取num位数字不重复的id * * @param num 流水号位数 * @return 得...原创 2019-12-25 13:55:20 · 327 阅读 · 1 评论 -
scoket出现报文丢失怎么处理
这个是阿里的一道面试题,我看到后很感兴趣,因为最近我写了几个银行接口都是用的scoket技术进行的数据接收和返回。这个面试题我在网上也没找到具体的答案,所有我就根据我项目的实际情况和我的理解进行分析。为了防止scoket接收数据丢失,我们项目采取的做法是第一:循环接收数据 where(true){接收报文的代码}第二:接收的报文和银行约定,前6位报文体是所发送报文的总长度。先接收6字...原创 2019-10-27 17:13:14 · 1220 阅读 · 0 评论 -
Word OpenXML常用标签openxml标签
这个是openxml相关知识。<w:p> <!--表示一个段落--><w:val > <!--表示一个值--><w:r> <!--表示一个样式串,指明它包括的文本的显示样式,表示一个特定的文本格式--><w:t> <!--表示真正的文本内容--><w:rPr> <!--是&...原创 2019-08-31 15:29:15 · 1688 阅读 · 0 评论 -
js处理金额格式和java处理金额格式(亲测可用)
java处理金额格式public static String btos(BigDecimal amount) { try { String format = "#,###.00"; if (null == amount) { //amount = new BigDecimal(0.00); ...原创 2019-08-15 11:22:53 · 856 阅读 · 0 评论 -
关于byte[]数据传输,转String产生的字符编码乱码问题
最近在做银行接口对接的项目,总是出现乱码,我本地测试没有任何问题,接收到的数据乱码。1 问题排查,查看本地字符集。发现本地字符集默认都是utf-8,所以本地开发环境不会出现乱码问题。但是测试环境的默认字符集我却不知道。 String encoding = System.getProperty("file.encoding"); System.ou...原创 2019-07-25 16:03:34 · 4551 阅读 · 1 评论 -
request.getContextPath()得到的是什么路径?
得到的是项目的虚拟路径:例如访问路径为:http://localhost:8080/blue/response.jsprequest.getContextPath()得到的就是 /blue原创 2019-03-15 18:54:06 · 40602 阅读 · 0 评论 -
if条件语句以及案例分析
1,if条件语句1,if语句第一种格式语法:if(关系表达式){语句体;}package demo;public class Demo { public static void main(String[] args){ int a=1; int b=2; //if条件语句 if(a>b){ System.out.println("a>b...原创 2018-11-16 10:37:45 · 2536 阅读 · 0 评论 -
switch...case语句的理解案例
switch语句语法:switch(变量) { case 常量值1: 语句体1; break; case 常量值2: 语句体2; break; ...原创 2018-11-16 10:59:22 · 8263 阅读 · 0 评论 -
for循环
语法for循环语句格式: for(初始化表达式①; 布尔表达式②; 步进表达式④){ 循环体③ } 执行流程: 执行顺序:①②③④>②③④>②③④…②不满足为止。 ①负责完成循环变量初始化 ②负责判断是否满足循环条...原创 2018-11-16 12:53:47 · 4960 阅读 · 0 评论 -
i++和i--那点儿事儿(自增运算符和自减运算符)
自增++分为前缀和后缀,前缀++i是先自加1后在使用i,后缀式i++是先使用在自加1;自减--分为前缀和后缀,前缀--i是先自减1在使用,后缀i--是先使用在自减1;package test;public class HelloWorld { public static void main(String[] args) { int num1=4; int num2=...原创 2018-11-16 13:26:20 · 1375 阅读 · 0 评论 -
while语句和do...while语句
语法:while(布尔表达式){循环体;}先判断表达式,直到表达式不成立时结束循环体;do{循环体}while(布尔表达式);先执行循环体,在判断表达式,直到表达式不成立时,结束循环体; package demo;public class Demo { public static void main(String[] args){ //while...原创 2018-11-16 13:54:43 · 190 阅读 · 0 评论 -
java中静态方法static为什么不可以调用非静态方法
重点:static关键字的修饰成员变量,成员方法和对象无关。static修饰的内容是随着类的加载而加载的,且只加载一次。它存储于一块固定的内存区域(静态区),所以,可以直接被类名调用。它优先于对象存在,所以,可以被所有对象共享。static可以用来修饰的成员变量和成员方法,被修饰的成员是属于类的,而不是单单是属于某个对象的。也就是说,既然属于类,就可以不靠创建对象来调用了...原创 2018-12-07 20:51:49 · 10582 阅读 · 3 评论 -
设计模式(单例模式)
java的设计模式* 《单例模式》* 让一个类在运行过程中只能有一个对像* 三个方法实现单例的例子* 1,程序员式* 2,懒汉式* 3,饿汉式(推荐,开发中最常用)第一种:public class Dog { /**程序员式 * */ //私有化对象 private Dog(){}; //维护一个最终的静态的共有的对象 pu...原创 2018-12-19 21:32:57 · 106 阅读 · 0 评论 -
线程的6种状态(NEW,RUNNABLE,BLOCKED,WAITING,TINED_WATING,TEMINATE)
1,NEW()新建线程刚被创建,但未被启动。也就是没有调用start方法。2,Runnable(可运行)线程可以在java的虚拟机中运行的状态,可能正在运行自己的代码,也可能没有,这取决于cpu是否扫描到这一个线程。3,Blocked(锁阻塞)当一个线程试图获取一个对象锁,而这对象锁被其他线程持有,则该线程进入Blocked状态;当该线程持有锁时,该线程将变成Runnable状...原创 2018-12-18 11:48:45 · 4070 阅读 · 0 评论 -
String s1 = "abc"; String s2 = "abc";创建了几个对象?以及字符串常量池
1. 字符串不变:字符串的值在创建后不能被更改。案例一:String s1 = "abc";s1 += "d";System.out.println(s1); // "abcd"// 内存中有"abc","abcd"两个对象,s1从指向"abc",改变指向,指向了"abcd"。2. 因为String对象是不可变的,所以它们可以被共享。案例二:Str原创 2019-01-07 16:07:25 · 6756 阅读 · 2 评论 -
抛去各种框架,最基本的JDBC连接不能忘(JDBC连接知识集锦)
目录 一、 JDBC基本概念 * 概念:* JDBC本质: 二、 快速入门: * 步骤: 三、 详解各个对象: 1. DriverManager:驱动管理对象 2. Connection:数据库连接对象 3. Statement:执行sql的对象 4. ResultSet:结果集对象,封装查询...原创 2019-01-18 20:54:18 · 99 阅读 · 0 评论 -
5分钟学会Cookie和Session技术(web会话技术,属于web核心必会知识)
目录 一、什么是会话技术?二、cookie和session是什么?三、cookie如何创建以及常用方法1.创建cookie对象2.设置cookie的生存时间setMaxAge(秒)3.设置cookie的访问路径setPath(路径)4设置cookie的访问域名setDomain(域名)可以在不同服务器之间进行访问。5,获取cookie四、session对象的...原创 2019-01-24 16:29:34 · 212 阅读 · 0 评论 -
java中的数据类型转换
一,强制类型转换 1特点;不能自动完成,代码需要特殊格式处理 2格式:范围小的类型 范围小的变量名 =(范围小的类型) 原本范围大的类型;1,不建议使用强制类型转换,可能会造成数据损失例如:左边int类型右边long类型 int num=100L;//编译会报错(数据类型不兼容,从long到int会发生数据损失) //long强...原创 2018-11-20 17:16:34 · 182 阅读 · 0 评论