二叉树的遍历
二叉树的遍历结点12345678public static class Node{ public String value; public Node left; public Node right; public Node(String value){ this.value=value; } }
生成树1234567891011121314151617181920212223/** 前序遍历:ABDEGCF 中序遍历:DBGEACF 后序遍历:DGEBFCA * 第一层:A 第二层:B、C 第三层:D、E、F 第四层:G * A * B C * D E F * G */ public static Node getNodeList(){ Node a = new Node(" ...
冒泡和快速排序
冒泡和快速排序冒泡排序改良版123456789101112131415161718192021public static void bubbleSort(int[] num){ if (num.length==0) { return; } for (int end=num.length-1;end>0;end--) { //记录最后一次交换的位置 int sorted=-1; for (int begin = 0; begin < end; begin++) { if (num[begin+1]<num[begin]){ int tmp=num[begin+1]; num[begin+1]=num[begin]; num[begin]=tm ...
稀疏数组
稀疏数组参考于:https://blog.csdn.net/baolingye/article/details/99943083
简介当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组,稀疏数组的处理方法是:
记录数组一共有几行几列,有多少个不同的值
把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模
举例稀疏数组大小为**(n+1)3*(n为数组中有效元素的个数,+1为第一行的记录数,3为行、列、值三列)
第一行第一列记录原始数组总行数,第一行第二列记录原始数组总列数,第一行第三列原始数组中的总有效元素个数
第二行记录第一个有效元素的行、列、值
第三行记录第二个有效元素的行、列、值
……
2021上半年理财小结
2021上半年理财小结股票今年收益率近16%
持仓: 基本于与创业板走势相同
个人看法:现在A股还在洗盘中,未来大概率是走长牛
个人意见:对于不了解的个股尽量别玩,尽量选择自己看好的板块的ETF
基金今年收益率较高,近30%
重仓:南方原油A
持仓时间:16个月
个人看法:当初是在原油大跌的时候进场的,到现在才不多持有16个月,今年原油市场回暖,收益才变为正的,之前跌的最凶的时候,收益是-60%+,原油现在大概70+$,现在普遍认为原油价格在80+$,现在基本可以逐渐减仓离场。
个人意见:不要随便进入自己不熟的领域,不要追热点,如果追了并且看好后市,请务必长期持有!追热点请选择专业的券商平台!!!
面试常考的19道题
#Java工程师面试常考题# 面试常考的19道题
Cookie和Session的异同
Cookie和Session的异同Cookie
一个cookie只能存放一个信息
一个web站点可以给浏览器发送多个cookie,最多20个
cookie最大为 4 KB
浏览器最多存放300个cookie
如果不设置有效期,关闭浏览器,cookie自动失效
Session
服务器为每个用户(浏览器)创建一个session对象
一个session独占一个浏览器,只要浏览器没有关闭,session就存在
session由服务器创建
一般用于保存用户信息
Git基本命令
git详细文章Git笔记(狂神说) - 墨染念颖 - 博客园 (cnblogs.com)
1、工作原理|流程
Workspace:工作区Index / Stage:暂存区Repository:本地仓库Remote:远程仓库
2、常用命令1234567891011$ git config --system --list #查看系统config$ git config --global --list #查看当前用户(global)配置$ git config --global user.name "name" #名称$ git config --global user.email 123456@qq.com #邮箱$ git init #初始化$ git add . #将所有文件添加到暂存区$ git commit -m "消息内容" #将暂存区中的文件提交到本地仓库 $ git push #将本地仓库中的文件提交到远程仓库 $ git pull #用于从远程获取代码 ...
JMM初探
JMM初探1.什么是JMM? JMM: Java Memory Model的缩写)
2.它干嘛的? 作用:缓存一致性协议,用于定义数据读写的规则(遵守,找到这个规则) .
JMM定义了线程工作内存和主内存之间的抽象关系:线程之间的共享变量存储在主内存(Main Memory)
中,每个线程都有一一个私有的本地内存(Local Memory)
解决共享对象可见性这个问题: volatile(①保证可见性 ②不保证原子性 ③禁止指令重排)
3.它该如何学习? JMM:抽象概念,理论
JMM对这八种指令的使用,制定了如下规则:
不允许read和load、store和write操作之一单独出现。即使用了read必须load,使用了store必须write
不允许线程丢弃他最近的assign操作,即工作变量的数据改变了之后,必须告知主存
不允许一个线程将没有assign的数据从工作内存同步回主内存
一个新的变量必须在主内存中诞生,不允许工作内存直接使用一个未被初始化的变量。就是怼变量实施use、store操作之前,必须经过ass ...
Linux基本命令
linux详细文章:【遇见狂神说】Linux视频笔记 · 狂神说/Bilibili狂神说Java笔记 - 码云 - 开源中国 (gitee.com)
关机1234sync # 将数据由内存同步到硬盘中。shutdown # 关机指令shutdown –h now # 立马关机shutdown –r now # 立马重启
基本属性1234567891011121314151617181920212223242526272829303132333435cd # 切换目录命令cd /www/wwwroot #切换至www下的wwwroot目录cd .. #返回上一级ls # 列出目录ls -al #-a:all 所有文件(包括隐藏文件) -l:参数 所有文件(不包括隐藏文件)的属性和权限mkdir # 创建目录mkdir test1 # 创建test1目录mkdir -p test2/test3/test4 # 创建多级目录 -p:确保目录名称存在,不存在的就建一个rmdir # 删除目录rmdir test1 # 删除test1目录 rkdir -p test2/test3/te ...
MySql如何解决幻读问题
参考于:
面试官:谈谈你对Mysql的MVCC的理解? (baidu.com)
一文理解Mysql MVCC - 知乎 (zhihu.com)
全网最全的一篇数据库MVCC详解,不全我负责-mysql教程-PHP中文网
【MySQL】当前读、快照读、MVCC - wwcom123 - 博客园 (cnblogs.com)
MySQL 是如何解决幻读的 - 吴丹阳-cn - 博客园 (cnblogs.com)