android
android权限参考表(同理找一找action行为列表)
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 卸载镜像