Jinliang Blog

生活有度 人生添寿

Linux-文件权限

Linux-文件权限解读

首先用命令“ls -al“查看root主目录进行查看文件: ls是“list“的意思,而参数“-al“则表示列出所有的文件详细的权限和属性(包含隐藏文件,即文件名第一个字符为“.“) total 171304 dr-xr-x---. 11 root root 4096 May 22 09:17 . dr-xr-xr-x. 16 root root 4096 May 22 ...

Algorithm-如何计算时间复杂度

Algorithm-如何计算时间复杂度总结

一、概念 时间复杂度是总运算次数表达式中受n的变化影响最大的那一项(不含系数) 比如:一般总运算次数表达式类似于这样: a2^n+bn^3+cn^2+dnlg(n)+en+f a ! =0时,时间复杂度就是O(2^n); a=0,b<>0 =>O(n^3); a,b=0,c<>0 =>O(n^2)依此类推 eg: (1) for(i=1;i<=...

Linux-用户帐号与登录

Linux-用户帐号与登录

在通过帐号和密码登录Linux主机时,系统内部做了什么呢? 首先在/etc/passwd中寻找帐号是否存在,如果不存在,则跳出;如果存在,则读出uid和gid(在etc/group中),并且读取帐号的主文件夹和shell设置。 接下来是核对密码是否正确。Linux系统进入/etc/shadow文件同听过帐号和uid查找到密码,然后核对与输入的密码是否一致。 如果前两布正确,就...

Linux-用户与用户组

Linux-用户与用户组

用户和组的基本概念 Linux中的文件,进程都是和用户绑定在一起的; 用户的身份决定了能使用和操作的资源(文件,进程); 每个用户名有一个对应的uid; 每个用户都隶属于一个或多个组; 用户分为三种类型 超级管理员root用户(uid为0),鸟哥引申为“万能的天神“; 系统用户(uid为1-499); 普通用户(uid为500或以上); 相关命令 id:查看当前用户的信息 passwd:...

单例模式-java

Java实现单例模式

在开发中,我们也许会用到只能实现一个实例的类的情况,也就是面向对象中重要的设计模式——单例模式,下面,就来介绍一下集中常见的单例模式以及优缺点。 饿汉 public class Singleton { private Singleton(){} private static Singleton singleton = new Singleton(); pu...

Java-源码解析Object

Java-源码解析Object

首先,粘贴上Object的源代码: package java.lang; public class Object { private static native void registerNatives(); static { registerNatives(); } public final native Class<?> ...

Java-JDBC的事务处理

Java-JDBC的事务处理

JDBC的事务基本知识 事务的定义:一个事务是由一条或多条对数据库操作的sql语句所组成的一个不可分割的工作单元,只有当事务中的所有操作都正常执行后,整个事务才会提交给数据库。 结束事务的操作:commit()/rollback()。commit表示对事务的提交,rollback表示对事务的回滚,这两种方法都处于java.sql.Connection类中。 Q:通过什么方法保持对数据库的多...

Java-程序初始化顺序

Java-程序初始化顺序

Java程序初始化原则 静态优先于非静态。具体指的是静态的变量或者是对象优先于非静态的变量或者是对象。并且,静态只初始化一次,而非静态可能会初始化多次。 父类优先于子类进行初始化。 按照成员变量定义的顺序进行初始化,并且成员变量优先成员方法。 上面说的可能有点抽象,也不能快速的进行判断,下面是在真正的程序中初始化的顺序: 父类静态变量——>父类静态代码块——>...

Java-JDBC访问数据库

Java-JDBC访问数据库解析

Java基础—JDBC访问数据库 JDBC,全称Java DataBase Connectivity。它提供各种方法,包括访问数据库、执行sql语句等。这些操作数据库的类都在java.sql包中,下面是通过JDBC链接数据库的一些步骤。 加载JDBC驱动器。其实也就是咱们通常说的一些jar包,这些包一般在数据库的官网可以找到,Java官网也有的,一般5/6个左右,直接加到项目中的c...

java-内存区域

Java中的内存区域解析

首先看一张图片,显示了java虚拟机运行时数据区: 程序计数器 是一块较小的内存空间,他可以看做是当前线程所执行的字节码的行号指示器。 字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支,循环,跳转,异常处理,线程恢复等基础功能都需要依赖这个计数器来完成。 java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的。为了线程...