编程思想
那年的雪a
JAVA
展开
-
Java动静态代理的区别,什么场景使用?
静态代理通常只代理一个类,动态代理是代理一个接口下的多个实现类静态代理事先要知道代理的是什么 ,而动态代理不知道要代理什么东西,只有在运行时才知道。动态代理是实现JDK里面的InvocationHandler接口里面的invoke方法,但注意的是代理的是接口,也就是说你的业务类必须要实现接口,通过Proxy里的newProxyInstance得到代理对象。还有一种动态代理CGLIB,代理的是类,不需要业务继承接口,通过派生的子类来实现代理。通过在运行时,动态修改字节码达到修改类的目的。AOP编程就是转载 2021-01-27 04:52:08 · 256 阅读 · 0 评论 -
什么是接口文档,如何写接口,有什么规范?
一、什么是接口文档?在项目开发中,web项目的前后端分离开发,APP开发,需要由前后端工程师共同定义接口,编写接口文档,之后大家都根据这个接口文档进行开发,到项目结束前都要一直维护。二、为什么要写接口文档?项目开发过程中前后端工程师有一个统一的文件进行沟通交流开发项目维护中或者项目人员更迭,方便后期人员查看、维护三、接口规范是什么?首先接口分为四部分:方法、uri、请求参数、返回参数方法:新增(post) 修改(put) 删除(delete) 获取(get)uri:以/a开头,如果需要转载 2021-01-26 19:25:06 · 2216 阅读 · 0 评论 -
二维码QR 码纠错级别
二维码的纠错功能原理是?例如,需要编码的码字数据有 100个,并且想对其中的一半,也就是 50个码字进行纠错, 则计算方法如下。纠错需要相当于码字2倍的符号,因此在这种情况下的数量为 50个×2 =100码字。因此, 全部码字数量为 200个, 其中用作纠错的码字为 50个,所以计算得出, 相对于全部码字的纠错率就是 25%。这一比率相当于 QR 码纠错级别中的“ Q ”级别。另外, 在上述例子当中, 也可以认为相对于码字数据的纠错率为 50%, 但变脏或破损的部位 不仅仅局限于码字数据部分,因此,转载 2021-01-17 05:03:24 · 9014 阅读 · 0 评论 -
单例模式中的单例对象会不会被垃圾回收?
对于JDK1.2后的JVM HotSpot来说,判断对象可以回收需要经过可达性分析,由于单例对象被其类中的静态变量引用,所以JVM认为对象是可达的,不会被回收。另外,对于JVM方法区回收,由堆中存在单例对象,所以单例类也不会被卸载,其静态变量引用也不会失效。...转载 2021-01-13 05:21:00 · 1328 阅读 · 0 评论 -
Object obj=new Object()究竟占多少字节啊?
转自 : https://blog.csdn.net/weixin_42864905/article/details/104966716概述公司小姐姐今天突然找我聊天,那个激动啊,然后她突然问我你有对象吗?我心里一愣,难道我的春天来了吗?但是接下来一句话让我心灰意冷 啊,你知道Object obj=new Object()占多少字节吗?我男朋友问我,我内心真的是一万头***奔腾而过啊,处于耿直的程序员,我们来看一下对象到底占用多少字节。Java 对象头内存模型我们先来看看,一个Java 对象的内存模转载 2021-01-03 17:10:15 · 1285 阅读 · 0 评论 -
什么是技术栈
1、技术栈 定义:一般来说是指将N种技术互相组合在一起(N>1),作为一个有机的整体来实现某种目的或功能。也可以指掌握这些技术以及配合使用的经验。 举个例子:开发一个普通系统,您使用了html + css + javascript + vue+ Spring Boot+Spring cloud + Spring+ SpringMVC+Mybatis+Redis+nginx+ WebSocket+Lucene + linux + mysql等等,这些技术加起来就可以称为技术栈。原创 2020-12-30 19:43:53 · 7939 阅读 · 0 评论 -
个人针对网站代码安全层面的理解归类[待追加修改]
第一 . SQL注入个人感知 : 采用JDBC的prepareStatement第二. HTML注入\JS注入\CSS注入个人感知 :spring转义: HtmlUtils.htmlEscape()spring入参断言 : Assert第三. 敏感字符个人感知 : filter层过滤第四. 数据传输个人感知 : 加密算法第五. JSON发送前端信息过载个人感知 :jsonconfig 或 pojo通过JsonValueProcessor接口...原创 2020-12-27 12:19:02 · 138 阅读 · 0 评论 -
通过URL传参+JSON组合来实现 , 后台重定向后的传参实践总结.
前端 : html + js + json后端: java + servlet (无jsp)要解决的问题 :后端servlet重定向 , 到一个html页面 ;重定向后该html需要一个id作为参数,通过json来获取数据库相应数据 ;矛盾 : 重定向是一次新的请求,无法将重定向前的参数继承下来 ;解决思路 :给重定向的html的url带参数,从而实现传参 ; 例如:index.html?id=99前端通过js截取参数 , 来发起json请求 , 从而获取相应数据 ; 通过实践原创 2020-12-11 01:55:40 · 781 阅读 · 0 评论 -
淘宝客参数spm,就是指通过这个技术跟踪推广的商品订单
越来越多的朋友加入到淘宝客的队伍中来,淘宝客通过推广淘宝商品,成功交易后自己可以获得高额推广佣金。对于想要赚钱的朋友来说淘宝客是非常好的一种方式,淘宝客采用spm跟踪订单。那么淘宝客的参数spm是怎么回事呢?一、什么是淘宝客的参数spm?SPM是淘宝社区电商业务(xTao)为外部合作伙伴(外站)提供的一套跟踪引导成交效果数据的解决方案。下面是一个跟踪点击到宝贝详情页的引导成交效果数据的SPM示例:http://detail.tmall.com/item.htm?id=3716461318&&转载 2020-11-06 14:32:13 · 1438 阅读 · 1 评论 -
设计模式之单例模式(线程安全)
可以说单例模式是所有设计模式中最简单的一种。单例模式就是说系统中对于某类的只能有一个对象,不可能出来第二个。单例模式也是23中设计模式中在面试时少数几个会要求写代码的模式之一。主要考察的是多线程下面单例模式的线程安全性问题。1.多线程安全单例模式实例一(不使用同步锁)1 public class Singleton {2 private static Singleton sin=new Singleton(); ///直接初始化一个实例对象3 private Singlet翻译 2020-11-04 16:25:17 · 156 阅读 · 0 评论 -
加密解密BASE64Encoder及BASE64Decoder的正确用法
一直以来Base64的加密解密都是使用sun.misc包下的BASE64Encoder及BASE64Decoder的sun.misc.BASE64Encoder/BASE64Decoder类。这人个类是sun公司的内部方法,并没有在java api中公开过,不属于JDK标准库范畴,但在JDK中包含了该类,可以直接使用。但是在eclipse和MyEclipse中直接使用,却找不到该类。如下图!BASE64Encoder及BASE64Decoder的正确用法解决方法如图:右键项目-》属性-》构建路经BAS转载 2020-11-06 18:19:30 · 2278 阅读 · 0 评论 -
Base64 算法原理,以及编码、解码【加密、解密】 介绍
Base64编码,是我们程序开发中经常使用到的编码方法。它是一种基于用64个可打印字符来表示二进制数据的表示方法。它通常用作存储、传输一些二进制数据编码方法!也是MIME(多用途互联网邮件扩展,主要用作电子邮件标准)中一种可打印字符表示二进制数据的常见编码方法!它其实只是定义用可打印字符传输内容一种方法,并不会产生新的字符集!有时候,我们学习转换的思路后,我们其实也可以结合自己的实际需要,构造一些自己接口定义编码方式。好了,我们一起看看,它的转换思路吧!Base64实现转换原理它是用64个可打印字符表转载 2020-11-06 18:20:30 · 156 阅读 · 0 评论