当前位置: 首页 > news >正文

采集网站会员用响应式做旧书网站

采集网站会员,用响应式做旧书网站,网站的备案怎么处理,班级网站开发与设计文章目录 1、线程池的使用2、MD5算法的使用3、多用枚举类 整理下近期干活儿遇到的一些坑。 1、线程池的使用 不合理点1#xff1a;jstack线程转储发现#xff0c;有几万个线程#xff0c;查看代码发现#xff0c;线程池放在方法内部或者循环体中创建#xff0c;尽管方法… 文章目录 1、线程池的使用2、MD5算法的使用3、多用枚举类 整理下近期干活儿遇到的一些坑。 1、线程池的使用 不合理点1jstack线程转储发现有几万个线程查看代码发现线程池放在方法内部或者循环体中创建尽管方法最后有shutdown关闭线程池但一定并发调用下线程数量会激增 改进使用成员变量放线程池 不合理点2:非单例Bean或者一个普通的类中线程池放成员变量了但没有static修饰正好其所在类被大量创建对象一个对象一个线程池大量线程池被创建 改进使用static修饰成员变量即某个属性所有对象都相同与之相反的是实例变量即某个属性一个对象一份如名字、身高 2、MD5算法的使用 不合理点调用一个三方接口有个请求参数accesskey其可能包含反斜线、等号等特殊字符直接传可能导致接口调用失败甚至SQL执行出错影响系统数据 改进:考虑做一个MD5加密输出一个定长字符串 补充关于MD5算法Message-Digest Algorithm 5可以将任意长度的数据映射为固定长度通常为128位的哈希值该过程不可逆无法从哈希值反推原始数据多用于数据完整性校验 输入任意长度的数据 → 经过多轮循环处理 → 输出固定长度的128位哈希值通常表示为32位十六进制字符串 需要注意MD5有安全性问题不同的输入可能生成相同的哈希值目前已构造出大量碰撞案例因此不适用于 密码存储应使用 bcrypt、Argon2 等算法。数字签名或高安全场景。 仅推荐用于非敏感数据的快速校验如文件完整性检查 3、多用枚举类 代码中多用枚举类代替直接创建的字符串常用的枚举形式一 public enum StatusEnum {SUCCESS,RUNNING }//代替大量的SUCCESS字符串 StatusEnum.SUCCESS.name()形式二加一个display而不是name()后转小写更加有灵活性 Getter public enum ClusterTypeEnum {RABBITMQ(rabbitmq),MQTT(mqtt);private final String displayName;ClusterTypeEnum(String displayName) {this.displayName displayName;}}形式三用于传参字段上直接将枚举类型和String在序列化和反序列化时自动转换如此Dto类中可以直接用枚举类型的变量而不再要求非得String同样的序列化时也会把枚举转成String import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue;Getter AllArgsConstructor public enum OrderFieldEnum {CREATE_TIME(createTime, create_time),NAME(name,name);private final String value; //值private final String field; //对应数据库中的字段方便后面写业务和Mapper层代码private static final MapString, OrderFieldEnum map new HashMap();//JsonCreator标记一个构造函数或静态工厂方法告诉 Jackson 在反序列化 JSON 时应该调用该方法来创建对象实例。JsonCreatorpublic static OrderFieldEnum check(String value) {//这里的判断map为空则遍历枚举类的值放进Map中//这个操作和上面的利用类加载时机初始化Map集合一个目的if (map.isEmpty()) {for (OrderFieldEnum orderFieldEnum : OrderFieldEnum.values()) {map.put(orderFieldEnum.getValue(), orderFieldEnum);}}//如果在Map中找不到对应的key和传入的字段相等则认为非法传参即不支持这个排序字段if (!map.containsKey(value)) {throw new MyExceptionHandler(不支持这个排序字段); //自定义异常在全局异常处理器处理}//否则返回整个枚举对象return map.get(value);}//JsonValue标记一个方法将该方法的返回值直接作为 JSON 的值而不是将整个对象序列化为 JSON 对象//使用场景当某个类本身不需要完整的 JSON 表示只需要输出其中一个字段的值时JsonValuepublic String getValue() {return value;} } 详见https://llg-notes.blog.csdn.net/article/details/130997300
http://www.hkea.cn/news/14320812/

相关文章:

  • 学做网站需要多长时间网站建设的公司哪家强
  • 网站开发技术是什么网站平台建设方案书
  • linux建设网站江苏省住房和建设厅网站首页
  • wordpress应用镜像下载班级优化大师并安装
  • 网站建设一般需要什么功能网站开发的流程 知乎
  • 深圳企业网站定制免费psd图片素材网站
  • 网站建设推广费用山西定制网站建设电源
  • 网站设计应遵循的原则苏州建设工程公司网站
  • 手机网站大全网站150m网站空间流量大吗
  • 聊城定制型网站开发seo推广的常见目的有
  • 快速搭建网站信息库专门用于网页制作的软件
  • 风铃微网站怎么做网站定制技术
  • 常熟有没有做阿里巴巴网站商场网站模板
  • 帮人做兼职的网站吗成品网站管理系统
  • 网站前台和后台对接实例做网站团队的人员安排
  • 经典网站建设方案网站建设多久
  • 网站建设与管理课程设计论文网络游戏动漫设计专业
  • 网站建设昆明哪家好新网
  • 网站默认网站名wordpress 年索引
  • 中低端网站建设客户网怎么做应援网站
  • ftp 网站 怎么上传文件广州网站制作有哪些
  • 网站访问速度优化工具apmserv配置多个网站
  • 网站维护推广的方案怎么进行网络营销
  • dede多个网站怎么做关键词网站
  • 钢材原材料东莞网站建设株洲专业建设网站
  • 郑州医疗网站开发广告毕业设计作品网站
  • 长沙企业模板建站物流行业网站模板
  • 天河建设网站外包我要自学网做网站
  • 网站建设 职责汕头软件定制
  • 郑州网站设计汉狮网站自适应是什么做的