JAVA
文章平均质量分 68
SIMON QIU
比起无为而治,我更喜欢循序渐进!
展开
-
深入理解JVM(一)-内存区域与垃圾回收介绍
程序员常常说软件不行,硬件来凑。但是针对当前对系统高可用、高并发的需求日益增大,需要程序员写出更稳定、性能更好的应用程序,开发人员需要了解虚拟机的运行原理,才会写出最适合虚拟机运行的代码。Java虚拟机是中高级开发人员必须修炼的知识。 正是由于Java虚拟机的存在,才能使Java开发的应用程序能够一次开发,处处运行。...原创 2021-07-02 13:28:24 · 190 阅读 · 0 评论 -
支付宝支付-学习资料整理
一、平台入驻1、为提升入驻开放平台时的效率和体验,开发者在入驻前,需要注册支付宝账号并完成实名认证。2、平台入驻时需要选择服务范围:登录开放平台后,若未完成入驻,则系统自动引导进入入驻流程,首先选择本账号支持的服务范围:根据开发者实际提供的服务可选择:自研开发服务和自研开发服务+提供第三方服务。 ①自研开发服务:通过开放平台提供的丰富的 API 和业务能力,集成支付、营销、资金和会员等能力更好地服务自己的顾客。 ②提供第三方服务:主要面向系统服务商 ISV,为...原创 2021-02-24 15:55:48 · 1186 阅读 · 0 评论 -
微信支付-委托代扣学习资料整理
一、产品介绍1、扣费服务(原委托代扣)为微信支付为商户和用户提供的,可以在交易场景之外完成支付的能力。2、场景:二、周期扣费1、周期扣费的服务特点为“基于规则而非用户行为触发”,因此扣费前,需要为用户下发扣费前通知,确保用户的支付意愿。2、下发扣费前通知后,在约定时间内:①若用户拒绝续费,可关闭扣费服务;②若用户接受续费,则无需额外操作;3、目前支持通知后24小时自动扣费、或提前使用独立的通知接口两种模式:三、支付中签约1、支付中签约支持H5支付、NATI..原创 2021-02-23 17:27:31 · 1946 阅读 · 0 评论 -
微信支付-基础支付学习资料整理
一、开放模式分类(微信支付的账户关系)1、普通模式:最常规的普通模式,适用于有自己开发团队或外包开发商的直连商户收款。不能扩展子商户。 2、服务商模式:第三方服务商申请自己的s服务号,并通过该服务号申请服务商mch_id,来获得微信支付服务商能力 。再通过服务商mch_id为所服务的特约商户申请创建微信支付sub_mch_id,创建好的sub_mch_id默认和服务商的mch_id建立父子授权关系。以此来使用微信支付提供的开放接口。服务商模式下又分普通服务商和银行服务商两大类,...原创 2021-02-23 17:25:15 · 667 阅读 · 0 评论 -
加解密-手机号码的加解密了解
随着人们对个人信息保护意识的增强,各大互联网公司对用户个人私密信息的保护日益受到重视,需要使用到对手机号码、座机号码、分机号码进行正确性校验以及对电话号码进行加密等的操作。参考文档:1、https://blog.csdn.net/thl331860203/article/details/52316325;2、https://blog.csdn.net/LeegooWang/article/details/78427567?utm_medium=distribute.pc_relevant.non转载 2021-01-05 15:28:40 · 1152 阅读 · 0 评论 -
Java8-Optional 类
说明: Optional类主要解决的问题是臭名昭著的空指针异常(NullPointerException) —— 每个 Java 程序员都非常了解的异常。 本质上,这是一个包含有可选值的包装类,这意味着 Optional 类既可以含有对象也可以为空。 Optional 是 Java 实现函数式编程的强劲一步,并且帮助在范式中实现。但是 Optional 的意义显然不止于此。场景一:空指针异常 在 Java 8 之前,任何访问对象方法或属性的调...转载 2020-12-04 23:18:28 · 160 阅读 · 0 评论 -
越权访问解决方案探索(基于Spring与Shiro,多页面前端应用)
越权访问(Broken Access Control,简称BAC)是Web应用程序中一种常见的漏洞,由于其存在范围广、危害大,被OWASP列为Web应用十大安全隐患的第二名。越权访问的介绍可以参考如下文章,介绍得比较详细:https://blog.csdn.net/u012068483/article/details/89553797目前的问题分析与解决思路:问题1、水平越权访问是一种“基于数据的访问控制”设计缺陷引起的漏洞。由于服务器端在接收到请求数据进行操作时没有判断数据的所属人/所属部门而原创 2020-11-11 09:53:25 · 2059 阅读 · 1 评论 -
JVM调优-问题排查与工具使用案例一(Server服务器)
JVM调优-问题排查与工具使用原创 2020-11-02 22:59:14 · 270 阅读 · 0 评论 -
JVM调优-调优原则与思路
一、实施过程中的原则 在调优之前,我们需要记住下面的原则: 1、在应用上线之前,先考虑将机器的JVM参数设置到最优(最适合)。 2、多数导致GC问题的Java应用,都不是因为我们参数设置错误,而是代码问题。同时多数的Java应用不需要在服务器上进行GC优化。 3、减少使用全局变量和大对象,同时注意减少创建对象的数量;这也是Spring框架单例模式的一个优点。 4、在实际使用中,分析GC情况优化代码比优化GC参数要多得多,GC优化往往是最后的手段;...原创 2020-11-01 23:51:00 · 3591 阅读 · 0 评论 -
JVM调优-内存模型与垃圾回收
目录二、JVM介绍三、堆内存(HEAP)四、1.8版本JDK五、引用类型六、垃圾回收算法1、按基本回收策略分2、按分区对待的方式分3、按系统线程分七、分代收集1、Minor GC2、Major GC3、Full GC4、对象存活示意 在提升硬件性能无法等比例地提升程序的性能和并发能力时(即增加硬件对程序的性能没有任何改善作用),这里有Java虚拟机的原因,也有程序本身的原因(此处不考虑选择的框架本身原因)。 参考: ...原创 2020-10-31 16:29:44 · 225 阅读 · 0 评论 -
Server2008,本地先安装JDK1.7,后安装1.8时报错Error: Registry key ‘Software\JavaSoft\Java Runtime Environment‘
参考链接:https://www.jianshu.com/p/89ec2841fa4f转载 2020-08-07 12:01:13 · 229 阅读 · 0 评论 -
JDK版本不兼容导致:java.lang.UnsupportedClassVersionError
java.lang.UnsupportedClassVersionError是因为JDK版本与项目不匹配造成的,如某个JAR包需要JDK1.8版本以上或者Tomcat需要JDK1.6等等。工欲善其事,必先利其器。在项目初期搭建IDE环境则是必须的,但是IDE环境的配置步骤复杂时,基本是记不住的,所以常常会导致耗费时间较长而收效甚微。配置参考:https://blog.csdn.net/Speed_Pig/article/details/90755873...转载 2020-07-30 11:21:12 · 300 阅读 · 0 评论 -
反序列化异常-Exception in thread “main“ java.io.InvalidClassException
反序列化异常-java.io.InvalidClassException当类进行序列化与反序列化时,当父类没有无参构造且父类没有实现序列化接口时,在反序列化时将出现Exception in thread “main” java.io.InvalidClassException异常。解决办法是对父类加上无参构造方法。序列化1、当子类进行序列化而父类没有实现序列化接口时:当父类没有无参构造时,父类中的属性不参与序列化,虽然能序列化成功。但反序列化结果失败,此时序列化怎报错Exception in t原创 2020-07-20 22:07:51 · 1333 阅读 · 0 评论 -
java日期格式大全 format SimpleDateFormat(转)
java日期格式大全 format SimpleDateFormat(转)SimpleDateFormat df = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);//设置日期格式System.out.println(df.format(new Date()));// new Date()为获取当前系统时间String SendTime=df.for...转载 2020-01-15 15:04:39 · 2059 阅读 · 0 评论