瞎干的一天

4 阅读2分钟

android

android权限参考表(同理找一找action行为列表)

tools.jb51.net/table/Andro…

Intent

我个人感觉几乎99%的android的java代码都绕不开它。

  • 与四大组件的关联以及硬件部分

Activity

Intent intent=new Intent(this,目标反射类)
intent.putExtra("user_name","张三")
startActivity(intent)

目标类

String uname=getIntent().getString("username");

Service

Intent intent=new Intent(this,创建的service反射类)
// 也可以intent.putExtra(),同理接值也一样
startService(intent)

BroadcastRecevier

Intent intent=new Intent(action行为)
sendBroadcast(intent)

ContentProvider(必须是两个应用)

A应用实现ContentProvider中的方法

B应用
Uri uri=uri.parse("content://包路径")
   getContentResolver().query(uri,null,null,null,null)

SpringBoot

@import注解和@componetsScan注解区别

  • @import引入的是类
  • ComponetsScan扫的是包

@Configuration,@importResource,@PropertyResource

  • importResource主要用于XML文件的引入
  • propertyResource主要用于properties文件的引入
  • Configuration 主要是和@bean注解搭配使用,当然也可以于@Value注解配合使用,默认是yml文件

SpringBean的加载核心流程,通常也叫做spring的加载流程

  • 虽然Spring提供了ClassPathXMLApplicationContext,AnnoactionConfigApplicationContext,WebApplicationContext,FileSystemApplicationContext等等,但是主流的还是AnnoactionConfigApplicationContext
public void refresh() throws BeansException, IllegalStateException {
    synchronized(this.startupShutdownMonitor) {
        StartupStep contextRefresh = this.applicationStartup.start("spring.context.refresh");
        this.prepareRefresh();
        ConfigurableListableBeanFactory beanFactory = this.obtainFreshBeanFactory();
        this.prepareBeanFactory(beanFactory);

        try {
            this.postProcessBeanFactory(beanFactory);
            StartupStep beanPostProcess = this.applicationStartup.start("spring.context.beans.post-process");
            this.invokeBeanFactoryPostProcessors(beanFactory);
            this.registerBeanPostProcessors(beanFactory);
            beanPostProcess.end();
            this.initMessageSource();
            this.initApplicationEventMulticaster();
            this.onRefresh();
            this.registerListeners();
            this.finishBeanFactoryInitialization(beanFactory);
            this.finishRefresh();
        } catch (BeansException var10) {
            if (this.logger.isWarnEnabled()) {
                this.logger.warn("Exception encountered during context initialization - cancelling refresh attempt: " + var10);
            }

            this.destroyBeans();
            this.cancelRefresh(var10);
            throw var10;
        } finally {
            this.resetCommonCaches();
            contextRefresh.end();
        }

    }
}

JUC

个人总结 JUC分为 Runable/Callable,ThreadPool,ThreadLoacl,JUC集合,synchronized

  • threadLocal创建方式
private static final ThreadLocal threadLocal=new ThreadLocal();
  • Runable中thread相关操作
interrupted()

currentThread()

sleep()

yield()

start()

run()

join()

get部分

getid()/getname()/getPriority()/getState()/getThreadGroup()/getStacktrace()/getContextClassLoader()/getAllStackTraces()/getDefaultUncaughtExceptionHandler()/getUncaughtExceptionHandler()

set部分

setContextClassLoader()/setDemon()/setName()/setPriority()/setDefaultUncaughtExceptionHandler()/setUncaughtExceptionHaqndler()

is部分

isAlive()/isDaemon()/isInterrupted()

其他
activeCount()/checkAccess()/clone()/dumpStack()/holdsLock()/enumerate()

Linux

网络相关命令(只要和编程有关,就必然涉及网络,同理kali对于网络命令特别多,预估200+以上)

因此第一天展示这么多网络命令

telnet 远程连接SSH工具

nslookup 查看服务器地址

nmap 网络嗅探工具

netstat 查看网络连接状态

netcat(nc) 读写网络连接

tcpdump 命令化的网络抓包工具

traceroute 查询转发路由的

rap 查询MAC地址用的

ping ip连通工具,这里注意有的时候是icmp协议

ip(ip addr/ifconfig/ipconfig) ip查看工具,windows是ipconfig文件

dig DNS查询工具

CURL 测试url地址用的

hostnamectl 配置主机用的

磁盘分区命令(特基础)

df 查看所有文件的磁盘使用情况

du 查看当前文件磁盘使用情况

lsblk 查看磁盘分区情况

blkid 查看磁盘分区的UUID

parted 输出当前文件磁盘是MBR还是GPT

gdisk 给GPT分区

fdisk 给GBT分区

mkfs.xfs 默认是xfs文件系统,磁盘分区之后格式化文件系统才能使用

mount -o loop 挂载镜像

umount 卸载镜像