java
Z y..
这个作者很懒,什么都没留下…
展开
-
Java通过soap1.1请求webservice接口
首先获取到soap接口的wsdl地址,通过soapUI工具打开。前提需要在配置的插件工具配置axis地址,axis-1_4可在我的资源里下载。选择导出包的位置,生成代码。将代码复制到java项目中。多环境配置可在Locator中导入配置文件,将HTTP_Port_address和HTTPS_Port_address的ip地址替换即可。在接口请求中需要用户名密码验证,可封装配置在同一个类中。public class ERPAPI { public static ErpWSCo.原创 2022-04-19 15:35:38 · 1931 阅读 · 0 评论 -
abap通过po平台实现rest json的发送
之前做系统集成都是用soap协议,由于大部分人没有接触过soap,所以学习了po端开发rest接口,方便对接,实现记录如下:ESB配置后台正常做配置IB配置接口配置通道配置然后服务端接口的开发发现接收返回数据会有大小写自动转换不对应的问题,所以可以添加@JsonProperty(“RESULT”)注释解决序列化的问题。在erp写个demo测试一下。返回结果成功接收再看下java服务端数据接收情况...原创 2021-11-16 09:47:17 · 844 阅读 · 0 评论 -
abap通过po平台实现rest json的接收
之前做系统集成都是用soap协议,由于大部分人没有接触过soap,所以学习了po端开发rest接口,方便对接,实现记录如下:ESB配置后台正常做配置IB配置接口配置通道配置在erp系统上的sproxy激活,写个测试代码使用postman模拟发送个请求在erp系统上打个外部断点看看数据成功接收到返回数据...原创 2021-11-16 09:29:31 · 902 阅读 · 0 评论 -
项目的Mysql数据库迁移到Postgresql遇到的坑
1 Postgresql不能boolean自动转换成smallint使用管理员账号运行一下方法。CREATE OR REPLACE FUNCTION boolean_to_smallint(b boolean) RETURNS smallint AS $$ BEGIN RETURN (b::boolean)::bool::int; END;$$LANGUAGE plpgsql; CREATE CAST (boolean AS smallint) WITH F原创 2021-06-13 17:23:50 · 825 阅读 · 1 评论 -
解决:com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused:
解决:com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused:动了一下pom文件,maven未及时更新,刷新了一下maven库,项目恢复正常...原创 2021-04-23 17:19:13 · 287 阅读 · 0 评论 -
Java生产者消费者---demo
/** * 题目:现在两个线程,可以操作初始值为零的一个变量, * 实现一个线程对该变量加1,一个线程对该变量减1, * 实现交替,来10轮,变量初始值为零。 * * 1.高内聚低耦合前提下,线程操作资源类 * 2.判断/干活/通知 * 3.防止虚假唤醒 */public class ProdConsumerDemo04 { public static void main...原创 2020-04-25 15:44:32 · 200 阅读 · 0 评论 -
Java解决高并发的数据结构
Thread的Start()方法并不是立即启动,而是就绪状态,等待底层cpu的调度/** * 1 故障观象 * java.util.ConcurrentModificationException * 2 导致原因 * 多线程并发争抢统一资源,没有锁 * 3 解决方法 * 3.1 new vector<>() * 3.2 colle...原创 2020-04-25 11:40:29 · 251 阅读 · 0 评论 -
Java1.8的Stream---demo
/* * Stream是数据渠道,用于操作数据源(集合,数组等)所生成的元素序列。 * Stream不会改变源数据,每次处理都会返回一个持有结果的新stream * 类似于SQL语句对数据库的查询 * Stream是个延迟操作 * * 操作步骤 * 1.建立一个Stream数据渠道,即指定数据源 * 2.中间操作可以是0~n步 * * 3.取结果 */pub...原创 2020-04-21 17:00:51 · 189 阅读 · 0 评论 -
Java获取自定义注释的值---demo
public class TestAnntation { public static void main(String[] args) { Class<?> clazz = MyClass.class; Myanntation my = clazz.getAnnotation(Myanntation.class); //获取注释的参数值 String valu...原创 2020-04-21 15:54:11 · 223 阅读 · 0 评论 -
Java获取泛型父类---demo
public class TClass { public static void main(String[] args) throws Exception { Class clazz = son.class; //获取泛型父类 Type type = clazz.getGenericSuperclass(); ParameterizedType p = (Parameter...原创 2020-04-21 15:53:36 · 314 阅读 · 0 评论 -
Java类的初始化
哪些操非会导致类的初始化?这句话的意思,类的加载不一定就会发生类初始化。虽然大多数时候,在类的加载时直接就初始化了。(1)main方法所在的类在加线时,直接就先初始化(2)new一个类的对象,一定会先完成类的初始化(3)调用该类的静态变量(final的常量除外)和静态方法(4)使用java.lang.reflect包的方法对类进行反射调用(5)当初始化一个类,如果其父类没有被初始化,则...原创 2020-04-21 14:16:08 · 202 阅读 · 0 评论 -
Java使用Socket实现简易群聊
Server端开启一个即可public class Server { private static ArrayList<Socket> online = new ArrayList<Socket>(); public static void main(String[] args) throws IOException { ServerSocket serve...原创 2020-04-20 22:53:02 · 289 阅读 · 0 评论 -
线程的安全问题和同步方法---demo
/* * 两个线程使用共享的同一份数据,就有线程的安全问题。 * 加锁解决: * 同步的锁对象可以是任意类型的对象。 * 使用共享数据的这些线程,使用同一个锁对象。 * * 两种形式: * ```同步代码块 * synchronized(同步的锁对象){ * 需要锁的代码,一个线程在运行的时候 * } * 继承Thread需要静态;Runnab...原创 2020-04-20 16:19:32 · 187 阅读 · 0 评论 -
线程的简单实现
/* * 程序(Program):为了完成某个任务,一组指令的集合 * * 进程(Process):程序的一次运行,进程是操作系统分配资源的最小单位,同一个进程是共享同一份内存等资源 * 如果两个进程之间要进行数据交换,可以通过“文件”、网络通信等方式。成本较高。 * * 线程(Thread):当某个进程需要同时完成多个功能时,可以采用多线程。 * 线程是进程的其中一条执行路...原创 2020-04-18 17:28:30 · 185 阅读 · 0 评论 -
序列化对象的类型,两种方式
实现java.io.Serializable;实现java.io.Externalizable,当时实现这个接口必须重写两个抽象方法void writeExternal(ObjectOutput out)void readExternal(ObjectInput in)有了这两个方法,如何序列化和反序列化由程序员说了算。...原创 2020-04-18 16:18:48 · 433 阅读 · 0 评论 -
如何使用Java复制一个文件
public static void copyFile(String srcPath,String descPath){ try ( FileInputStream fis = new FileInputStream(srcPath); FileOutputStream fos = new FileOutputStream(descPath); Buffered...原创 2020-04-18 15:44:34 · 211 阅读 · 0 评论 -
20200417杂记
HashSet:内部实现是HashMap,添加(add)到HashSet的元素是作为HashMap的key,所有的value共享同一个Object类型的常量对象PRESENT。用迭代器或foreach遍历时,再用集合对象的remove方法时会报线程错误。ArrayList(1)JDK1.8,new的时候发现数组初始化为一个DEFAULTCAPACITY_EMPTY_ELEMENT...原创 2020-04-18 10:42:44 · 145 阅读 · 0 评论 -
Java注解及demo
常见的注解:一、系统预定义的三个最基本的注解@Override:它是又JDK的核心类库定义,读取它是由编译器作用:注释这个方法是一个“重写”的方法,让编译器对这个方法的签名进行检查@SuppressWarnings(“all”):抑制警告@Deprecated:告知编译器和程序员这个方法、属性已过时,不建议使用。二、文档注释单行注释多行注释文档注释(Java特有)@par...原创 2020-04-17 15:07:25 · 204 阅读 · 0 评论 -
枚举-demo
public enum Test02 { MON("1号","小明"), TUE("2号","小花"), THR("3号","无情"); private String name; private String desc; private Test02(){ } private Test02(String name ,String desc){ this.name = ...原创 2020-04-17 11:35:43 · 151 阅读 · 0 评论 -
局部内部类-demo
public class Test01{ private static int i ; private int j; public void t01(){ System.out.println("---开始---"); int a =1; class Inner{ public void i1() { System.out.println("我是匿名内部类"); ...原创 2020-04-17 10:47:55 · 188 阅读 · 0 评论 -
代理设计模式-demo
如果有需要权限验证或者统一处理的业务,可写在代理方法中。/** * * @author zy * 要求代理类和被代理类实现同一个主题接口 * 代理类中要有一个被代理类的属性(target),这样才能把核心业务代码交给被代理者 */public class TestProxy { public static void main(String[] args) { UserDa...原创 2020-04-17 10:08:48 · 180 阅读 · 0 评论 -
Eureka注册中心
Spring Cloud Eureka是对Netflix公司的Eureka的二次封装,它实现了服务治理的功能,Spring Cloud Eureka提 供服务端与客户端,服务端即是Eureka服务注册中心,客户端完成微服务向Eureka服务的注册与发现。服务端和 客户端均采用Java语言编写。下图显示了Eureka Server与Eureka Client的关系:1、Eureka Serve...原创 2020-03-23 08:48:03 · 320 阅读 · 0 评论 -
比较输出旧对象和新对象修改的属性值
public static String contrastObj (Object pojo1, Object pojo2) { String str=""; //T pojo1 = (T) oldBean; //T pojo2 = (T) newBean; try { Class clazz = pojo1.getClass(...原创 2019-11-28 16:41:58 · 259 阅读 · 0 评论 -
学习Eureka注册中心
需求分析在前后端分离架构中,服务层被拆分成了很多的微服务,微服务的信息如何管理?Spring Cloud中提供服务注册中心来管理微服务信息。为什么 要用注册中心?1、微服务数量众多,要进行远程调用就需要知道服务端的ip地址和端口,注册中心帮助我们管理这些服务的ip和端口。2、微服务会实时上报自己的状态,注册中心统一管理这些微服务的状态,将存在问题的服务踢出服务列表,客户端获取到可用的服务进...原创 2019-04-17 21:43:23 · 293 阅读 · 0 评论 -
Comparator比较器的定义与使用
import java.util.Arrays;import java.util.Comparator;public class TestComparator { public static class Student { public String name; public int id; public int age; ...原创 2019-04-13 21:51:09 · 332 阅读 · 0 评论 -
被final修饰的变量是常量
byte b1=1,b2=2,b3,b6; final byte b4=4,b5=6; b6=b4+b5; b3=(b1+b2); System.out.println(b3+b6);关于上面代码片段叙述正确的是(C)A. 输出结果:13B. 语句:b6=b4+b5编译出错C. 语句:b3=b1+b2编译出错D. 运行期抛出异常被final修饰的变量是常量,这里的b6=b4+...原创 2019-04-13 16:08:49 · 2673 阅读 · 0 评论 -
getDeclaredMethods()和getMethods()
当一个类或接口被加载到JVM的时候便会产生一个与之关联的一个Java.lang.Class对象,我们可以通过此Class对象来得到被装入的类的详细信息。其中:Method[] getDeclaredMethods() 返回 Class 对象表示的类或接口的所有已声明的方法数组,但是不包括从父类继承和接口实现的方法。Method[] getMethods() 返回当前 Class 对象表示的类...原创 2019-04-13 16:02:00 · 1162 阅读 · 0 评论 -
RabbitMQ准备
RabbitMQ Service-install :安装服务RabbitMQ Service-remove 删除服务RabbitMQ Service-start 启动RabbitMQ Service-stop 停止1)安装并运行服务rabbitmq-service.bat install 安装服务 rabbitmq-service.bat stop 停止服务 rabbitmq-servi...原创 2019-04-03 20:38:01 · 207 阅读 · 0 评论 -
RabbitMQ的工作原理
组成部分说明如下:Broker:消息队列服务进程,此进程包括两个部分:Exchange和Queue。Exchange:消息队列交换机,按一定的规则将消息路由转发到某个队列,对消息进行过虑。Queue:消息队列,存储消息的队列,消息到达队列并转发给指定的消费方。Producer:消息生产者,即生产方客户端,生产方客户端将消息发送到MQ。Consumer:消息消费者,即消费方客户端,接收...原创 2019-04-03 20:33:39 · 4063 阅读 · 0 评论 -
GridFS学习认识
GridFS介绍GridFS是MongoDB提供的用于持久化存储文件的模块,CMS使用MongoDB存储数据,使用GridFS可以快速集成开发。它的工作原理是:在GridFS存储文件是将文件分块存储,文件会按照256KB的大小分割成多个块进行存储,GridFS使用两个集合(collection)存储文件,一个集合是chunks, 用于存储文件的二进制数据;一个集合是files,用于存储文...原创 2019-04-03 14:14:55 · 584 阅读 · 0 评论 -
RabbitMQ学习认识
1.1 RabbitMQMQ全称为Message Queue,即消息队列, RabbitMQ是由erlang语言开发,基于AMQP(Advanced MessageQueue 高级消息队列协议)协议实现的消息队列,它是一种应用程序之间的通信方法,消息队列在分布式系统开发中应用非常广泛。RabbitMQ官方地址:http://www.rabbitmq.com/开发中消息队列通常有如下应用场景:...原创 2019-04-03 14:05:22 · 218 阅读 · 0 评论 -
Unable to start web server; nested exception is org.springframework.context.ApplicationContextExcept
在创建Spring Boot项目时遇到了如下错误org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.context.ApplicationContextException: Unable to s...原创 2019-03-27 21:20:35 · 21621 阅读 · 3 评论 -
RabbitMQ工作模式
RabbitMQ有以下几种工作模式 :1、Work queues2、Publish/Subscribe3、Routing4、Topics5、Header6、RPC1 Work queueswork queues与入门程序相比,多了一个消费端,两个消费端共同消费同一个队列中的消息。应用场景:对于 任务过重或任务较多情况使用工作队列可以提高任务处理的速度。2 Publish/su...原创 2019-04-04 13:04:32 · 278 阅读 · 0 评论 -
Ribbon学习介绍
Ribbon是Netflix公司开源的一个负载均衡的项目(https://github.com/Netflix/ribbon),它是一个基于HTTP、TCP的客户端负载均衡器。1、什么是负载均衡?负载均衡是微服务架构中必须使用的技术,通过负载均衡来实现系统的高可用、集群扩容等功能。负载均衡可通过硬件设备及软件来实现,硬件比如:F5、Array等,软件比如:LVS、Nginx等。如下图是负载均...原创 2019-04-18 15:34:09 · 339 阅读 · 0 评论 -
Feign学习介绍
Feign是Netflix公司开源的轻量级rest客户端,使用Feign可以非常方便的实现Http 客户端。Spring Cloud引入Feign并且集成了Ribbon实现客户端负载均衡调用。通俗一点讲:可以像调用本地方法一样的调用远程服务的方法。Feign工作原理如下:1、 启动类添加@EnableFeignClients注解,Spring会扫描标记了@FeignClient注解的接口,并...原创 2019-04-18 15:57:25 · 456 阅读 · 0 评论 -
将JSONArray数组转为树状结构
public JSONArray getba01(@PathVariable String bzt002){ //return baseService.getBa01List(bzt002); List<Ba01> ba01List = baseService.getBa01List(bzt002); JSONArray listToTr...原创 2019-06-26 11:12:55 · 1527 阅读 · 0 评论 -
有关JVM内存的问题
问题下面有关JVM内存,说法错误的是?A.程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,是线程隔离的B.虚拟机栈描述的是Java方法执行的内存模型,用于存储局部变量,操作数栈,动态链接,方法出口等信息,是线程隔离的C.方法区用于存储JVM加载的类信息、常量、静态变量、以及编译器编译后的代码等数据,是线程隔离的D.原则上讲,所有的对象都在堆区上分配内存,是...原创 2019-05-12 14:53:53 · 594 阅读 · 0 评论 -
Solr入门
Solr安装与配置1.1 什么是Solr 大多数搜索引擎应用都必须具有某种搜索功能,问题是搜索功能往往是巨大的资源消耗并且它们由于沉重的数据库加载而拖垮你的应用的性能。 这就是为什么转移负载到一个外部的搜索服务器是一个不错的主意,Apache Solr是一个流行的开源搜索服务器,它通过使用类似REST的HTTP API,这就确保你能从几乎任何编程语言来使用solr。 Solr是一个...原创 2019-05-04 19:45:25 · 456 阅读 · 0 评论 -
springboot打成的jar如何在Linux上持久运行
通过该命令运行jar包:nohup java -jar blog.jar > system.log 2>&1 &下面我们对这条命令进行分析nohub一般形式为如下:nohub command &但是当你退出账户时,仍然会停止对应的进程。所以这就需要你在后面添加 2>&1 &(相当于正常退出,仍保持命令在后台运行)上面这个co...原创 2019-05-02 18:18:04 · 562 阅读 · 0 评论 -
为什么要使用接口和抽象类?
Java 接口和 Java 抽象类代表的就是抽象类型,就是我们需要提出的抽象层的具体表现。OOP 面向对象的编程,如果要提高程序的复用率,增加程序的可维护性,可扩展性,就必须是面向接口的编程,面向抽象的编程,正确地使用接口、抽象类这些太有用的抽象类型做为你结构层次上的顶层。1、Java 接口和 Java 抽象类最大的一个区别,就在于 Java 抽象类可以提供某些方法的部分实现,而 Java 接口...原创 2019-03-16 09:05:01 · 1813 阅读 · 0 评论