Wesley13 Wesley13
3年前
java java中subString、split、stringTokenizer三种截取字符串方法的性能比较
最近在阅读java.lang下的源码,读到String时,突然想起面试的时候曾经被人问过:都知道在大数据量情况下,使用String的split截取字符串效率很低,有想过用其他的方法替代吗?用什么替代?我当时的回答很斩钉截铁:没有。google了一下,发现有2中替代方法,于是在这里我将对这三种方式进行测试。测试的软件环境为:WindowsXP、ecl
某小说App返回数据 解密分析
一、目标李老板:奋飞呀,最近被隔离在小区里,没啥可干的呀。奋飞:看小说呀,量大管饱。我们今天的目标就是某小说Appv20210953二、步骤搜索url字符串App请求小说内容的时候没有加签名,但是返回的数据是加密的。那么我们先去jadx搜索一下这个url(novelcontent),看看有没有发现。结果是没有收获。那么很有可能这个url不是在apk中写
Stella981 Stella981
3年前
Spring boot 整合 Redisson
1  概述  Redisson实现了分布式和可扩展的Java数据结构,功能较为简单,不支持字符串操作,不支持排序、事务、管道、分区等Redis特性。Redisson的宗旨是促进使用者对Redis的关注分离,从而让使用者能够将精力更集中地放在处理业务逻辑上。2    特点1.Redisson中的方法则是进行比较高的抽象,每个方法调用可能进行了
Wesley13 Wesley13
3年前
Java深究之Vector、ArrayList、LinkedList的区别
       在java开发中除了上文经常用的对字符串的操作外,还有使用居多的当属集合了。在基础的java学习时,相信很多同学都学习了List、Set、Map这些,他们之间的区别和基本的使用方法也是很了解了,本文是详细的去分析List中Vector、ArrayList、LinkedList之间的区别和底层实现原理以及使用场景首先说下这三者的区别:
Stella981 Stella981
3年前
Redis 分布式锁的实现以及存在的问题(Spring Cloud)
一.Redis分布式锁这里是列表文本锁是针对某个资源,保证其访问的互斥性,在实际使用当中,这个资源一般是一个字符串。使用Redis实现锁,主要是将资源放到Redis当中,利用其原子性,当其他线程访问时,如果Redis中已经存在这个资源,就不允许之后的一些操作。springboot使用Redis的操作主要
Stella981 Stella981
3年前
JFinal的Model进行json反序列化
在使用JFinal进行开发时,我们可能会需要解决这样的问题:Model进行json的序列化与反序列化。官方已经提供了序列化的方法Model.toJson()非常方便,反序列化就得自己实现一下了。之前我一直都是把Model序列化成的json字符串,反序列化成map,然后再调用Model.setAttrs(map)。这样就有类型转换问题,最后反序列化得到
Stella981 Stella981
3年前
JWT 在 Web 服务中进行无状态授权的原理
JWT指的是JSONWebTokens,是一串数据加密后生成的Token字符串,通过以下方式服务器端可以判定客户端的身份。1、客户端用户userA使用用户名密码登录服务器2、服务器返回给用户数据和一串Token3、userA再次请求数据带上Token,而不用再次输入用户名密码4、服务器解密Token,拿出其中标识用户
Wesley13 Wesley13
3年前
java解析JavaScript片段
前几天帮某个人抓取某电商网站商品属性的,得到页面后需要解析一个<script内的代码获得其中一个json对象的属性,开始是想字符串截取呢,后来感觉不怎么好,就换成用java解析script了,感觉还行,其中有几个坑,在这里记录下,对于一段js代码,java在解析时,需要补齐其中的空间变量,比如varwindow{}; 还有js中调用的函数
Wesley13 Wesley13
3年前
Java该如何从入门到精通?
《Java从入门到精通(第4版)》从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用Java语言进行程序开发需要掌握的知识。全书分为28章,包括初识Java,熟悉Eclipse开发工具,Java语言基础,流程控制,字符串,数组,类和对象,包装类,数字处理类,接口、继承与多态,类的高级特性,异常处理,Swing程序设计,集合类,I/O(输入/
美凌格栋栋酱 美凌格栋栋酱
6个月前
SQL根据某字段向上递归,将递归值转换成字符串,然后拆分成列
WITHPERFORMDEPARTAS(SELECTID,DEPARTS,DEPARTIDSFROM(SELECTID,DEPARTS,DEPARTIDS,ROWNUMBER()OVER(PARTITIONBYIDORDERBYLENGTH(DEPARTS