linewon
码龄10年
  • 33,748
    被访问
  • 40
    原创
  • 54,378
    排名
  • 7
    粉丝
关注
提问 私信
  • 加入CSDN时间: 2012-09-25
博客简介:

linewon

查看详细资料
  • 2
    领奖
    总分 160 当月 4
个人成就
  • 获得17次点赞
  • 内容获得9次评论
  • 获得22次收藏
创作历程
  • 11篇
    2022年
  • 7篇
    2021年
  • 5篇
    2020年
  • 14篇
    2019年
  • 1篇
    2018年
  • 2篇
    2017年
成就勋章
TA的专栏
  • iOS逆向
    11篇
  • Mybatis
    1篇
  • JAVA基础
    5篇
  • eclipse
    1篇
  • 找点乐子
    1篇
  • Linux命令
    2篇
  • 报错了
    5篇
  • MySQL
    2篇
  • 刷题
    8篇
  • 常见概念及其含义
    2篇
  • JVM
    1篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

牛客网 迷宫问题 DFS 递归 两种方式

牛客网-迷宫问题主要思路1. 像3个方向递归2. 不能数组越界3. 不能是墙4. 在当前递归分支下,没有走过。跟算24点一样,还是通过两种方式控制递归退出:1. 通过全局变量2. 通过函数返回值。这里通过函数返回值,直接用静态函数就行了,并且不会有并发冲突。公共类Coordinpackage cn.line.nowcoder.huawei.hj43;/** * 用于保存路径 * 也可以直接用int[2]来实现 */public class Coord
原创
发布博客 2022.04.05 ·
393 阅读 ·
0 点赞 ·
0 评论

牛客网 24点 DFS 递归 两种方式

题目连接:牛客网-算24点自己些的递归,是通过全局控制变量,来控制递归结束的。后来看了网友的代码,还有通过返回值来控制递归结束的。在这里记录一下。下面的代码里,函数dfs是通过全局变量found来控制递归退出的。函数dfs2是通过返回值来控制递归退出的。package cn.line.nowcoder.huawei.hj67;import java.util.Scanner;public class Main { public static void ma
原创
发布博客 2022.04.04 ·
299 阅读 ·
0 点赞 ·
0 评论

为什么我的冒泡排序这么慢?java

发布问题 2022.03.22 ·
2 回答

记直接插入排序,为什么必须从后往前遍历

从前往后遍历找到插入位置@Slf4jpublic class InsertSort { @Test public void test() { int[] arr = new int[]{5, 3, 7, 6, 4, 1, 0, 2, 9, 8}; log.info("init: {}", Arrays.toString(arr)); insertSort(arr); log.info("result: {}", Arr
原创
发布博客 2022.03.21 ·
308 阅读 ·
0 点赞 ·
0 评论

LeetCode 链表 双指针 234

题目本身比较简单,主要是快慢指针的思路值得记一下,后续可能还会有其他应用。 public boolean isPalindrome(ListNode head) { if (head.next == null) return true; ListNode fast = head; ListNode slow = head; ListNode preSlow = null, nextSlow;
原创
发布博客 2022.03.18 ·
556 阅读 ·
0 点赞 ·
0 评论

LeetCode 链表 双指针 206 92 25

206:简单的pre + cur的双指针public ListNode reverseList(ListNode head) { if (head == null || head.next == null) return head; ListNode pre = null; ListNode cur = head; ListNode tmp; while (cur.next != null) { tmp = cur.next
原创
发布博客 2022.03.17 ·
531 阅读 ·
0 点赞 ·
0 评论

LeetCode 19 61 链表 双指针

题目-19题目-6119: public ListNode removeNthFromEnd(ListNode head, int n) { ListNode ret = new ListNode(0, head); ListNode pre = ret; ListNode rear = pre; while (n-- >= 0) { // n-- > 0 rear = rear.ne
原创
发布博客 2022.03.17 ·
795 阅读 ·
0 点赞 ·
0 评论

ARM64内存中的dirent,记一个判断文件后缀的方式

dirent结构struct dirent {   long d_ino; /* inode number 索引节点号 */    off_t d_off; /* offset to this dirent 在目录文件中的偏移 */    unsigned short d_reclen; /* length of this d_name 文件名长 */    unsigned char d_type; /* the type of
原创
发布博客 2022.03.08 ·
642 阅读 ·
0 点赞 ·
0 评论

项目优化之垂直拆分 和 水平拆分

垂直拆分数据层-表将单表中的常用字段和不常用字段,拆分到两个表,减少每次读无效字段导致的IO损失。数据层-库多个子系统的表,集中在单个DB里,为这些系统创建各自的DB,减少单个DB的压力。业务层多个子系统集中在单个项目里,将子系统独立成项目单独部署,增大吞吐量,还能有针对性地横向拓展。水平拆分数据层-表单表中的记录过大,树的高度过高导致查询缓慢。将全部记录按某个字段,分类到多个表中。例如,身份证表,按地区拆分。数据层-库单库的机器性能成为瓶颈。将身份证表,
原创
发布博客 2022.03.05 ·
35 阅读 ·
0 点赞 ·
0 评论

Mybatis Springboot配置 基本的增删改查

文章主要是记录一次demo的搭建过程,方便以后回顾。只贴出了关键代码和指明了关键位置。不过也算是比较完整了。springboot配置i. pom.xml主要是这几个依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId
原创
发布博客 2022.02.25 ·
590 阅读 ·
0 点赞 ·
0 评论

Java 通过线程池运行Runnable Callable FutureTask,通过Future获取返回值

Callable是可以获取返回值的Runnable,不过Callable只能通过线程池,来直接的提交任务。如果通过Runnable来执行任务,则只能通过FutureTask来获取返回值。线程池ExecutoerService的execute()方法,只接收Runnable入参。要想获取任务返回值,只能通过FutureTask。submit()方法,可以接收Runnable和Callable入参。获取返回值,既可以通过Future+Callable,也可以通过FutureTask+Runnab
原创
发布博客 2022.02.13 ·
172 阅读 ·
0 点赞 ·
0 评论

Java Runnable Callable FutureTask的关系概括和使用方式

直接通过new Thread().start()来运行多线程/** * Runnable * Callable * FutureTask */@Slf4jpublic class ThreadTest { public static void main(String[] args) throws ExecutionException, InterruptedException { new Thread(new Runnable() { // 最基础的新建线程的方式~
原创
发布博客 2022.02.13 ·
30 阅读 ·
0 点赞 ·
0 评论

ARM64 记一个比较有趣的乘法运算

X = X * 5被编译成汇编代码:ADD X1, X1, LSL#2也就是X = X + X << 2也就是X = X + X * 4
原创
发布博客 2021.09.13 ·
25 阅读 ·
0 点赞 ·
0 评论

ARM64汇编,跳转命令B\CBZ,字节码

B无条件跳转一条汇编指令 __text:000000010333E3D4 B loc_10333EA74对应字节码A8 01 00 14其中,0x14是B对应的字节码,0x1A8是对应的偏移0x10333EA74 - 0x10333E3D4 = 0x6A0 =0x1A8 * 4这里*4推测是一条指令4个字节的意思。CBZ有条件跳转一条汇编指令 __text:00000001031CAE70 ...
原创
发布博客 2021.08.05 ·
1037 阅读 ·
0 点赞 ·
0 评论

ARM64 BYTE/WORD/DWORD/QWORD 与 Wn/Xn

WORD 2个字节DWORD 4个字节 32位 可以用Wn存储QWORD 8个字节 64位 可以用Xn存储
原创
发布博客 2021.05.25 ·
238 阅读 ·
0 点赞 ·
2 评论

ARM汇编指令 CSEL CSET

CSEL X7, X2, X0, EQ ; if (cond == true) X7 = X2, else X7 = X0CSET W0, EQ ; if (cond == true) W0 = 1, else W0 = 0
原创
发布博客 2021.02.04 ·
2361 阅读 ·
0 点赞 ·
0 评论

ARM汇编指令 BFI BFXIL UBFX

例:UBFX W6, W28, #0XB, #2W6 = (W28 >> 11) & 3
原创
发布博客 2021.02.03 ·
1683 阅读 ·
1 点赞 ·
3 评论

ARM汇编指令 UXTW/UXTH/UXTB, SXTW/SXTH/SXTB

UXTW:Zero-extend single-word例如:需要ADD X0, X0, W1时,需要把W1拓展成X1:ADD X0, X0, W1, UXTW需要LDR X0, [X0, W1]时,同理:LDR X0, [X0, W1, UXTW]遇到后边带上一个立即数的情况:LDR W0, [X0, W1, UXTW #2],先把W1作Zero-extend处理,然后left-shift by 2,然后进行LDR。题外话:一般这种情况,由于内存中是按字节存储,想读..
原创
发布博客 2021.02.03 ·
4087 阅读 ·
1 点赞 ·
0 评论

ARM64 记一个标准的循环的汇编代码

__text:0000000103D26604__text:0000000103D26604 ; =============== S U B R O U T I N E =======================================__text:0000000103D26604__text:0000000103D26604__text:0000000103D26604 ; __int64 __fastcall Rename_103D26604_BS_XOR(__int64 a1, _
原创
发布博客 2021.01.12 ·
94 阅读 ·
0 点赞 ·
0 评论

curl 代理测试 username:password

curl -x proxy_address -U username:password target_address-x 不是 -X-U 不是 -u可以带上-v,看看详细请求/响应
原创
发布博客 2020.12.17 ·
434 阅读 ·
0 点赞 ·
0 评论
加载更多