- 博客(24)
- 资源 (24)
- 收藏
- 关注
原创 Spring之装配Bean
这是我Spring In Action的记录,如有理解错误的地方,欢迎大家指导。装配Bean如何实现Bean装配Spring 从两个角度来实现自动化装配组件扫描component scanning:Spring会自动发现应用上下文中创建的bean;自动装配autowiring:Spring自动满足bean之间的依赖;注解介绍@Configuration和@ComponentScan组件扫描不是默认开启的:@Configuration和@ComponentScan注解配合来开启组件扫描;.
2021-02-19 21:24:35
228
原创 计算机组成-中断处理
中断定义:是指CPU在正常运行程序时,由于内部/外部事件(或由程序)引起CPU中断正在运行的程序,而转到为中断事件服务的程序中去, 服务完毕,再返回执行原程序的这一过程。中断的特征:具有随机性。中断的作用:1,实现主机与外设之间的并行工作;2,故障处理:中断系统能使计算机在运行过程中出现故障的时候,调用相应的中断服务程序处理故障。3,实时处理。中断的类型:1,内部中断:来自于CPU内部的指令中断请求,分为软件中断和异常。2,外部中断:中断请求来自CPU外部,又分为可屏蔽和不可屏蔽中断。不可屏蔽中断N
2021-02-16 21:51:50
1691
原创 计算机中的单位
文件大小通常使用的是二进制1Byte=8bit1k=1024Byte1M=1024K1G=1024M1T=1024G1P=1024T速度的大小常使用十进制1GHz=1000*1000*1000HzCPU运算速度CPU运算速度常使用MHz或者是GHz,这个Hz就是秒分之一,也就是一秒内发生的同步脉冲数。网络速度网络传输方面,由于网络使用的是bit做单位,常用的单位为Mbit/s,即每秒多少Mbit。512k网速,其实指的是512kbps,也就是512k位/秒,由于我们平常对容量的
2021-02-16 21:00:02
2701
原创 Linux下MySql安装记录
1,centos自带mariadb,需要提前卸载# 检查是否安装了mariadbroot[/root]#rpm -qa |grep -i mariadbmariadb-5.5.52-1.el7.x86_64mariadb-server-5.5.52-1.el7.x86_64# 卸载root[/root]#rpm -e --nodeps mariadb-5.5.52-1.el7.x86_64root[/root]#rpm -e --nodeps mariadb-server-5.5.52-1.e
2021-01-17 21:10:26
238
2
原创 Brup Suit测试服务越权
测试服务越权1,配置代理.localhost.;127.;.baidu.;.ztesoft.;www.;.com*;.cn2,配置拦截3,高级别用户的请求send repeater4,发送级别用户的请求,获取session5,在repeater tab页改成低级别用户的session,点击post,看返回结果...
2021-01-10 16:11:20
207
原创 maven打包java代码和依赖包到一个包里
今天又同事问我怎么打包一个java类,连带依赖的包一起打进去。首先,百度了下查到了很多maven的pom.xml的写法。然后再IDEA里面新建了一个空的Maven项目,把网上的pom.xml导入进去了。然后再使用IDEA上的Maven边栏的package,打包时成功了,但是没有把依赖的包都合进去。…继续折腾了一番,终于在网上查到要执行mvn assembly:single命令才行。然后继续直接走命令行,最终成功解决打包成功。这里首先分享下pom.xml<?xml version="1.
2020-11-20 22:52:02
630
2
原创 java之线程死锁的原因,避免死锁的方式
线程死锁线程死锁的现象两个或两个以上的线程在执行过程中,因争夺资源而造成的互相等待的现象,在无外力作用的情况下,这些线程会一直互相等待而无法继续运行下去.线程死锁的四个条件互斥条件资源只能被一个线程占用,如果其它线程请求获取该资源,则请求者只能等待,直到占用资源的线程释放该资源.请求并持有条件指一个线程已经持有了至少一个资源,但又提出了新的资源请求,而新的资源已被其他线程占用,所以当前线程会被阻塞,但阻塞的同时不释放自己获取的资源.不可剥夺条件获取到的资源在自己使用完之前不能被
2020-10-18 17:29:50
203
2
原创 java之理解线程上下文切换
理解线程上下文切换线程的执行需要CPU资源,每个CPU同一时刻只能被一个线程使用,为了让用户感觉多个线程是在同时执行的,CPU资源采用了时间片轮转的策略,也就是给每个线程分配一个时间片,线程在时间片内占用CPU执行任务。当线程使用完时间片之后,如果还未结束,就会处于就绪状态并让出CPU给其他线程使用,这就是上下文切换,从当前线程的上下文切换到其它线程。思考一个问题,让出CPU的线程当下次轮到自己占用CPU时间片的时候如何知道自己之前运行到哪里了?所以在切换线程上下文的时候需要保存当前线程的执行现场,当再
2020-10-18 16:21:45
358
原创 java设计模式学习小结:简单工厂
简单工厂接口用来封装隔离具体的实现,目标是不让客户端知道封装体内部的具体实现。简单工厂的位置位于封装体内,它和接口以及具体的实现在一起,算是封装体内部的一个类,所以简单工厂是知道具体实现的。简单工厂封装对象的范围,建议控制在一个独立的组件级别或者一个模块级别,否则这个工厂会显得职责不明。简单工厂命名建议:类名建议为“模块名称+Factory”。比如,用户模块的工厂就称为:UserFactory。方法名通常为“get+接口名称“或者是”create+接口名称“。比如有一个接口名称为UserEbi
2020-10-11 22:29:05
269
原创 java线程中断的关键API介绍及使用场景说明
线程中断的方式Java提供了线程的中断机制:设置线程的中断标志,我们可以使用它来结束一个线程。通过设置线程的中断标志并不能直接终止该线程的执行,这种机制要求线程自己检查它是否被中断了,然后决定是不是要相应这个中断请求。线程中断相关的APIvoid interrupt():中断线程,例如线程A运行时,线程B可以调用线程A的interrupt方法来设置线程A的中断标志位true。注意:这里仅仅是设置了标志,线程A并没有中断,它会继续往下执行。如果线程A调用了wait系列函数,join方法或sleep方法
2020-10-09 23:28:19
699
原创 java让出CPU执行权的yield方法
Thread类的yield方法介绍Thread类有一个静态的yield方法;操作系统是为每个线程分配一个时间片来占有CPU的,正常情况下当一个线程把分配给自己的时间片使用完之后,线程调度器才会进行下一轮的线程调度;当一个线程调用了Thread类静态的yield方法时,是在告诉线程调度器自己占有的时间片还没有用完的部分自己不想再用了,是在暗示线程调度器现在就可以进行下一轮的线程调度了。但是线程调度器可以忽略这个暗示;yield示范当一个线程调用yield方法时,当前线程会让出CPU使用权,然后处于
2020-10-09 21:01:37
521
原创 java线程休眠之sleep
Sleep方法介绍sleep方法是Thread类中的一个静态方法,当一个执行中的线程调用了Thread的sleep方法之后,调用线程会暂时让出指定时间的执行权,这期间不参与CPU的调度,但是该线程所拥有的监视器资源,比如锁还是持有且不让出的。指定的睡眠时间到了之后,sleep函数会正常返回,线程就处于就绪状态,然后参与CPU调度,获取到CPU的资源后就可以运行了。线程睡眠时不释放拥有的监视器资源import java.util.concurrent.locks.Lock;import java.ut
2020-10-08 16:23:02
870
原创 java等待线程执行终止的join方法
join方法介绍join方法是Thread类的方法,不是Object对象的方法,是无参的且返回值为void的方法。等待子线程执行完成,再继续执行主线程来看一个示范:package com.tim.base.easystart.thread.base;public class JoinTest { public static void main(String[] args) throws InterruptedException { System.out.println("main t
2020-10-08 14:56:40
655
原创 java线程的等待与通知
线程的等待与通知wait()函数使用的时候要注意,要调用共享变量对象的wait()方法,必须先获取该对象的Monitor。否则会抛出IllegalMonitorStateException;当调用一个共享变量的wait()方法时,该调用线程会被阻塞挂起,直到:1)其他线程调用了该共享变量的notify()或notifyAll()方法;2)其他线程调用了该线程的interrupt()方法,该线程抛出InterruptedException异常返回。import java.util.PriorityQu
2020-10-07 23:00:17
455
原创 java线程的创建与运行
继承Thread类的方式使用继承的方式,可以方便的处理参数,在自定义的线程类里面可以添加成员变量,通过构造函数或者set方法来给变量设置值。public class ThreadTest { public static class MyThread extends Thread { private String info = ""; public MyThread() {} public MyThread(String info) { this.info =
2020-10-06 20:45:28
131
原创 readonly or disabled checkbox
需要把表单里面的一些checkbox设置成disabled,但是disabled的html元素不能被post提交到后台。因此,尝试使用readonly,但是readonly只是灰化chekbox并不能阻止点击设置选中还是不选中。可以通过下面的方式来设置// Javascript:$(':checkbox[readonly="readonly"]').click(function() { return false;});// Coffeescript:$(':checkbox[readonl
2020-09-28 08:20:17
161
原创 mysql sql faq
字段和数据库关键字冲突 用反撇号(`)包住,比如databaseSELECT id, org_id, version, type, name, access, url, password, user, `database`,basic_auth, basic_auth_user, basic_auth_password, is_default, created, updated, with_credentials, read_only, uid ,json_data, secure_.
2020-09-23 23:10:13
98
原创 Oracle Sql Faq
查询表中有哪些字段select *from user_tab_columnswhere table_Name='表名'order by column_nameall_tab_columns ,dba_tab_columns查询表的注释select table_name,table_type,comments from user_tab_commentswhere table_Name='表名'dba_tab_comments,all_tab_comments查询字段注释.
2020-09-23 23:09:13
215
原创 sqlite faq
SQL创建表CREATE TABLE IF NOT EXISTS t_user(uid integer primary key,uname varchar(20),mobile varchar(20))CREATE TABLE `data_source` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `org_id` INTEGER NOT NULL, `version` INTEGER NOT NULL, `type` TEXT NO.
2020-09-23 08:55:09
198
原创 sqlite-jdbc使用记录
1,先上一个示范代码,来自sqlite-jdbc的githubpackage sqlite;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class Sample { public static void main(String[] args) {
2020-09-22 23:15:50
1005
原创 wait()-虚假唤醒
public class SpuriousWakeUpTest { private final Object lock = new Object(); private int product = 0; private void produce() { synchronized (lock) { product = product + 1; lock.notify(); } } private v
2020-09-22 08:34:08
443
转载 spurious wakeup 虚假唤醒
多线程编程中条件变量和的spurious wakeup 虚假唤醒1. 概述条件变量(condition variable)是利用共享的变量进行线程之间同步的一种机制。典型的场景包括生产者-消费者模型,线程池实现等。对条件变量的使用包括两个动作:1) 线程等待某个条件, 条件为真则继续执行,条件为假则将自己挂起(避免busy wait,节省CPU资源);2) 线程执行某些处理之后,条件成立;则通知等待该条件的线程继续执行。3) 为了防止race-condition,条件变量总是和互斥锁...
2020-09-11 08:25:46
527
原创 Linux文件解压缩命令使用详细说明
.tar(注:tar是打包,不是压缩!)解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName常用方式:tar zxvf 显示解压过程信息tar zxf 不显示解压过程信息.gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName.tar.gz 和 .tgz解压:tar zxvf FileName.tar.gz压缩:tar zcvf FileName.tar.
2020-09-09 08:24:23
1465
转载 OKR
1、定义OKR就是Objectives and Key Results的简称,包括目标(Objectives)和关键结果(Key Results)两个要素。2、目的就公司和团队而言,OKR可以简单易行的将团队的战略目标统一呈现出来,分解项目,落实负责人,并有效考核项目进展,使整个公司采取整齐划一的行动。就个人而言,OKR可以关注最重要的核心目标,并通过关键结果推动目标实现。3、作用公司及团队:目标分解:董事会确定目标,将目标从上至下依次分解到部门、团...
2020-09-05 21:16:27
341
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人