- 博客(21)
- 收藏
- 关注
原创 Android 10 中读写SD卡权限的问题
记一次在android的学习中遇到的SD卡权限问题。最开始题主本来是想做一个小的demo来操作SD卡。如图所示:没想到在开发的过程中遇到了权限问题。首先贴一下activity的代码。其实就是三个按钮,绑定三个事件。package com.example.demo;import android.Manifest;import android.app.Activity;import a...
2020-04-24 21:57:24
15422
7
原创 JVM面试总结(2)-垃圾回收器与内存分配策略
1.判断对象回收条件:1,引用计数算法:添加一个计数器来记录。有一个引用就+1.引用失效就-1.任何时候为0就死了。但是不能解决相互循环引用的问题。2.可达性分析算法(主流):选择一个对象作为起点。一个对象到GC roots链不可达就是不可用。起点的选择:1.虚拟机栈(栈帧中的局部变量表)中引用的对象2.本地方法栈中JNI(native)中引用的对象3.方法区中常量引用的对象4.方法...
2019-10-23 16:18:06
210
原创 JVM面试总结(1)-java内存区域和内存溢出异常
2.1内存分布图:方法区和堆是线程共享的;虚拟机栈,本地方法栈,程序计数器是线程私有的;1. 线程计数器:用来指定当前线程执行字节码的行号指示器。JVM的多线程是通过线程轮流切换分配执行时间来实现的,在任何时刻,每个处理器都只会执行一个线程中的指令,当线程进行切换的时,为了线程能恢复当正确的位置,所以每个线程必须有个独立的线程计数器,这样才能保证线程之间不互相影响。字节码解释器的工作就是通...
2019-10-23 16:15:36
382
原创 Javaweb项目部署
XShell将本地的文件上传到linux服务器:首先在本地安装Xshell软件,然后在xshell新建连接,注意此时的linux要开启ssh,并且同意root外部连接,并且打开防火墙。ssh默认的是22端口。连接成功后如下:然后在linux下安装lrzsz:直接输入rz如果没有安装,就先安装。a) 注意要先切换到root权限下才可以安装。输入:yum -y install lrz...
2019-06-22 11:15:25
332
原创 Mybatis的简单总结
JDBC操作数据库:首先需要操作mysql数据库的驱动jar包:mysql-connector-java-5.1.32.jar。操作就是 : 加链预执释。a) 需要注意的是对结果集的处理和执行sql是调用的函数不同。数据库连接池(druid):依赖druid的jar包: druid-1.0.9.jar连接池中维护有都个连接对象,我们可以直接从中取对象,用完之后放回。避免频繁创建对...
2019-06-22 11:13:00
186
原创 spring和springmvc的注解总结
spring和springmvc的常用注解:注解:参与代码编译,以@开头的。它是给应用程序看的,单独使用注解毫无意义,一定要跟工具一起使用,这个所谓的工具实际就是能读懂注解的应用程序Spring部分:声明Bean:@Component:标准一个普通的spring Bean类。@Controller:标注一个控制器组件类。可以配合@RequestMapping注解在类上。可以窄化请求@...
2019-06-22 11:08:42
910
原创 springMVC
Springmvc:mvc架构:使展示和模型分离,流程控制逻辑,业务逻辑调用和展示逻辑分离。Model(模型)是应用程序中用于处理应用程序数据逻辑和业务逻辑的部分。View(视图)用户界面,在页面上返回模型数据。Controller(控制器)调度作用,接收用户的请求,共享数据模型并跳转页面。在 CS 架构标准的 MVC 中模型能主动推数据给视图进行更新(观察者设计模式,在模型上注册视图,...
2019-06-22 11:07:33
128
原创 spring总结
SpringSpring介绍:框架:Core Container(核心容器)包含有Core、Beans、Contexts 和 Expression Language模块。Core 模块封装了框架依赖的最底层部分。主要包含Spring 框架基本的核心工具类(例如:资源访问,类型转换)。Beans 模块是框架是所有应用都要用到的,它包含访问配置文件、创建和管理bean以及进行 Invers...
2019-06-22 11:05:14
267
原创 nginx
Nginx(linux环境)Nginx是一个高性能轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,占用内存少,并发能力好,能够支持高达 50,000 个并发连接数的响应。在linux(centos6.5)下面的安装环境:因为在多种Linux下的安装包格式不相同:我们使用源码(C语言)来自己编译安装:源码下载:http://nginx.org/nginx...
2019-06-22 11:02:26
186
原创 servlet基础
Servlet:学习时查看的博客:https://www.cnblogs.com/whgk/p/6399262.html继承体系HttpServlet容器响应Web客户请求流程如下:1)Web客户向Servlet容器发出Http请求;2)Servlet容器解析Web客户的Http请求;3)Servlet容器创建一个HttpRequest对象,在这个对象中封装Http请求信息;4)...
2019-06-22 10:54:31
190
原创 tomcat的基本使用
Tomcat1.版本兼容对应:2.tomcat各个文件夹:bin文件夹:bin文件夹下面放的是可执行性文件,其中:bat/exe文件是windows下可执行的脚本文件。sh文件时Linux/Unix下可执行的脚本文件。bootstrap.jar 从文件名可以看出这个jar包是引导程序jar包,是tomcat的入口。catalina.bat 这个脚本就比较重要了。这个脚本完成了很多基本...
2019-06-22 10:51:38
205
原创 maven的基本使用
MavenMaven:项目管理工具,对Java项目进行构建,依赖管理。一般部署在我们的本地开发环境。简单的环境配置(首先要有java的环境):a) 将下载好的文件解压b) 配置环境变量c) d) maven中的三种工程:1.pom工程:用在父级工程或聚合工程中。用来做jar包的版本控制。2.war工程:将会打包成war,发布在服务器上的工程。如网站或服务。3.jar...
2019-06-22 10:49:23
129
转载 反射和动态代理
学习时看的博客:https://www.jianshu.com/p/0129001454d7正文:反射:是在运行状态中,对于任意的一个类,都能够知道这个类的所有属性和方法,对任意一个对象都能够通过反射机制调用一个类的任意方法,这种动态获取类信息及动态调用类对象方法的功能称为java的反射机制。作用:相关方法可查看api(一)在运行时判断任意一个对象所属的类;(二)在运行时构造任意一个类...
2019-06-22 10:45:20
351
原创 Java线程和并发
线程和并发:Java线程是抢占式的调度(jvm调度)并行:指两个或多个事件在同一时刻点同时发生。并发:指两个或多个事件在同一时间段内发生。重点单核处理器就不能并行,只能并发 ,通过CPU通过时间片来调度每个线程的执行时间。多核处理器在同一时间点一起执行线程就是并发。进程:一个内存中运行的应用程序,独立的内存空间,通讯不方便,一个进程可以有多个线程。线程:在同一个进程中的多个任务。基...
2019-06-22 10:42:32
238
原创 Java网络编程
网络编程:网络模型和传输流程:网络数据传输的流程:ARP 协议是处于数据链路层与网络层之间的一种协议,也叫作地址解析协议。它将 IP 地址转换为 MAC 地址。RARP 协议,就是 Reverse ARP,与 ARP 协议相同,是将 MAC 地址转换为 IP 地址的协议。具体流程:2. 同一网段的数据传输假设在同一网段中的两台主机A和B想要通信,A如果想给B发送数据,必须先将B...
2019-06-22 10:38:32
172
原创 IO总结
IONIO(non-blockinig)特性:Channels and Buffers(通道和缓冲区):标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。Asynchronous IO(异步IO):Java NIO可以让你异步的使用IO,例如:当线程从通道读取数据到缓冲区时,...
2019-06-22 10:31:46
179
原创 Java异常
异常出现异常,记得查api 找出错误。Error: jvm出错,系统崩溃等,一般是编译错误,我们不能处理。Exception:异常,程序不正常情况,我们自己处理。都继承于throwable类常见的exception:NullPointException 空指针(引用)异常。等等处理异常异常是不能异步传递的。抛出异常,交给该方法的调用者(throws)来处理,使用try-catc...
2019-06-22 10:26:17
139
原创 数据库总结
Sql语句数据定义语言(DDL)是一组SQL命令,用于创建和定义数据库对象,并且将对这些对象的定义保存到数据字典中。通过DDL语句可以创建数据库对象,修改数据库对象和删除数据库对象等。create database 数据库名;//创建数据库对象drop database 数据库名;//删除数据库对象use 数据库名;//选择数据库CREATE TABLE mytable...
2019-06-22 10:23:35
539
原创 Java程序员常用的linux命令
linux常用命令:Linux文件相关的命令:ls 显示文件或目录-l 列出文件详细信息l(list)-a 列出当前目录下所有文件及目录,包括隐藏的a(all)mkdir 文件名 创建目录-p 创建目录,若无父目录,则创建p(parent)cd 目录路径 切换目录echo 字符串 用于字符串的输出cat 文件名 查看文件内容gedit 文件名 编辑文件tar ...
2019-06-16 21:49:00
252
原创 Java设计模式
设计模式创建者模式:工厂模式:在工厂类中通过工厂的方法直接获得对象,一般来说静态方法最好,可以直接调用。抽象工厂模式:通过超级工厂建立其他工厂,然后在通过工厂模式创建对象。单例模式:确保只有一个对象被创建。构造函数private。静态创建只一次。懒汉式,线程不安全。调用函数时才创建对象。懒汉式,线程安全。在调用的函数或者内部采用synchronized修饰。加锁,效...
2019-04-19 21:43:03
134
原创 Java集合类
ps:本文是网上找资料总结的。自己也是博客小白一枚。如有侵权,请私信我删除集合类总体框架:大致说明:1.Iterator(集合迭代器)通过继承了Iterable接口的类的iterator方法返回一个迭代器。例如在AarryList中:List integers=new ArrayList<>();//创建listIterator iterator=intege...
2019-04-17 10:00:15
114
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人