- 博客(87)
- 资源 (1)
- 收藏
- 关注
转载 java线程的6中状态以及切换
Java中的线程的状态分为六种:1、初始(new):新建一个线程对象,但还没有调用start()方法;2、运行(runnable):Java线程中将就绪(ready)和运行中(running)两种状态笼统的成为“运行”;线程对象创建后,其他线程(比如main线程)调用了该队形的start()方法。改状态的线程位于可运行线程池中,等待被线程调度选中,获取CPU的使用权,次数处于就绪状态(ready)。就绪状态的线程在获得CPU时间片后变为运行中状态(running)。3、阻塞(blocked):表示线
2021-07-14 20:48:07 236
原创 IDEA出现Unable to resolve column 。。。。问题的完美解决方法
出现问题是Unable to resolve column。。。解决方法:idea中file——>setting——>languages&Frameworks——>SQL Resolution Scopes——>Project mapping选择自己项目的库表——>点击加号加上自己的项目地址——>Resolution Scope下一样选择自己的库表——>Apply——>OK就完美解决了。1.2.3.4.5.我也不知道为什么这
2020-07-22 19:29:09 29173 19
原创 gitlab命令行的使用
**Gitlab命令行简单使用**使用Gitlab拉取远程文件到本地,然后再创建新分支的流程:git clone url #将远程分支拉取到本地;git status / git branch #查看git的状态和分支情况,git branch -r 查看远程分支;git checkout –b abc #创建本地分支abc,并切换到该分支;git push origin abc #创建远程分支(本地分支push到远程);git pull origin master #相当于是
2020-07-17 10:20:36 892
原创 一些Java技术相关的博客,专栏,和技术学习网站推荐?
推荐两个视频学习网站慕课网第一个推荐的学习网站应该是慕课网(慕课网私聊我打钱哈!),在我初学的时候,这个网站对我的帮助挺大的,里面有很多免费的课程,也有很多付费的课程。如果你没有特殊的需求,一般免费课程就够自己学的了。哔哩哔哩想不到弹幕追番/原创视频小站也被推荐了吧!不得不说哔哩哔哩上面的学习资源还是很多的,现在有很多年轻人都在上面学习呢!哈哈哈 大部分年轻人最爱的小破站可是受到过央视表...
2019-12-19 11:28:03 742
原创 前后端分离架构
1、背景前后端分离已成为互联网项目开发的业界标准使用方式,通过nginx+tomcat的方式(也可以中间加一个nodejs)有效的进行解耦,并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务(多种客户端,例如:浏览器,车载终端,安卓,IOS等等)打下坚实的基础。这个步骤是系统架构从猿进化成人的必经之路。核心思想是前端HTML页面通过AJAX调用后端的RESTFUL A...
2019-12-19 11:09:41 329
转载 IDEA中使用Git
工作中多人使用版本控制软件协作开发,常见的应用场景归纳如下:假设小组中有两个人,组长小张,组员小袁场景一:小张创建项目并提交到远程Git仓库场景二:小袁从远程Git仓库上获取项目源码场景三:小袁修改了部分源码,提交到远程仓库场景四:小张从远程仓库获取小袁的提交场景五:小袁接受了一个新功能的任务,创建了一个分支并在分支上开发场景六:小袁把分支提交到远程Git仓库场景七:小张获取小袁提...
2019-12-18 17:39:59 267
转载 分布式--缓存穿透,缓存雪崩,缓存击穿解决方案
一、什么样的数据适合缓存二、缓存穿透缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存,浙江导致这个不存在的数据每次请求都要到数据库中去查询,造成缓存穿透。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击二面的应用,这就是漏洞。解决方案:1)有很多方法可以有效解决缓存穿透问题,最常见的则是采用布隆过滤器,将所有可能存在的数据...
2019-08-14 09:31:29 189
原创 分布式所解决并发的三种实现方式(数据库、Redis缓存、Zookeeper)
分布式所解决并发的三种实现方式在很多场景中,我们为了保证数据的最终一致性,需要很多的技术方案来支持,比如分布式事务、分布式锁等。有的时候,我们需要保证一个方法在同一时间只能被桶一个线程执行。分布式锁一般有三种实现方式:1)数据库锁2)基于Redis的分布式锁3)基于ZooKeeper的分布式锁分布式锁应该是怎么样的??互斥性,可以保证在分布式部署的应用集群中,同一个方法在同一时间只...
2019-07-31 10:45:52 1098
原创 多线程的实现方式有几种?sleep和wait有什么区别?
多线程的实现方式有几种?1)继承Thread 类实现多线程;2)实现Runnable接口方式实现多线程;3)使用ExecutorService、Callable、Future实现又返回结果的多线程;sleep和wait有什么区别?Sleep:是让线程进入阻塞状态,一定时间之后回到非阻塞状态,从而可以重新获得CPU。线程被强制睡眠。Wait:线程处于阻塞的状态,等待外部的处理结束。not...
2019-07-25 17:00:30 650
原创 TCP协议如何保证可靠传输
1)应用数据被分割成TCP认为最适合发送的数据块。2)TCP给发送的每一个包进行编号,接收方对数据包进行排序,把有序数据传送给应用层。3)校验和:TCP将保持他首部和数据的检验和。这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错,TCP将丢弃这个报文段和不确认收到此报文段。4)TCP的接收端会丢弃重复的数据。5)流量控制:TCP连接的每一方都有固定大小...
2019-07-24 16:24:24 435
原创 TCP,UDP协议的区别
TCP,UDP协议的区别UDP在传送数据之前不需要先建立连接,远地主机在收到UDP报文之后,不要给出任何确认。虽然UDP不提供可靠交付,但在某些情况下UDP确是一种最有效的工作方式(一般用于即时通信),你如:QQ语音、QQ视频、直播等等。TCP提供面向连接的服务。在传送数据之前必须先连理连接,数据传送后要释放连接。TCP不提供广播或多播服务。由于TCP要提供可靠的、面向连接的传输服务(TCP...
2019-07-24 14:59:09 144
原创 OSI与TCP/IP各层的结构与功能,都有哪些协议??
学习计算机网络时我们一般采用折中的办法,也就是中和OSI和TCP/IP的优点,采用一种只有五层协议的体系结构,这样既简单又能将概念阐述清楚。自上而下简单的介绍各层的作用:1.应用层应用层(application-layer)的任务是通过应用进程间的交互拉完成特定网络应用。应用层协议定义的是应用进程(进程:主机中正在运行的程序)键通信和交互的规则。对用不同的网络应用需要不同的应用层协议。在...
2019-07-24 14:50:36 429
原创 TCP详解
1.滑动窗口对于一些数据吞吐量要求较高的应用,总是希望没次发送尽可能多的数据到主机,对于这类应用,TCP使用滑动窗口协议,该协议允许发送方在停止发送前和等待确认前可以连续发送多个分组,因此可以加速数据的传输。、滑动窗口的滑动是以字节为单位的,发送方A和接收方B在TCP三次握手的前两次握手时协商好了发送窗口和接收窗口的大小,发送方A根据接收方B发送来的确认连接报文中表明的窗口的大小,来确定收到确...
2019-07-23 19:53:13 208
原创 HTTP的工作原理
1.HTTP简介HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本都浏览器的传送协议。他可以使浏览器更加高效,较少网络传输。不近保证计算机正确快速的传输超文本文档,还确定传输文档中的那一部分,以及哪部分内容首先显示(如文办先于图形)等。在了解HTTP如何工作之前我们先了解计算机之间的通信。2计算机相互之间的通信互联网的关...
2019-07-23 14:51:36 268
原创 Redis 常用数据类型
Redis 常用数据类型Redis 最常用的数据类型是String、Hash、List、Set、Sorted set(zset)、pub/sub、TransactionsRedis内部内存管理中是如何描述的:首先Redis内部使用一个redisObject 对象来表示所有的key和value,redisObject最主要的信息如上图所示:type 代表一个value对象具体是何种数据类型...
2019-07-22 15:43:26 543
原创 memcache 和Redis 的比较
memcache 和Redis 的比较:1)性能方面没有必要过多的关心性能,因为二者的性能都已经足够搞了。由于Redis 只使用单核,而Memcached可以使用多核,所以比较上,平均每一个核上Redis 在存储小数据时比Memcached 性能更高。而在100K 以上的数据中,Memcached 性能要高于Redis,虽然Redis 最近也在存储大数据的性能上进行优化,但是比起Memcach...
2019-07-22 11:10:55 177
原创 数据库索引实现原理
索引在数据库中的作用在数据库系统的使用过程中,数据的查询是使用最频繁的一种数据操作。最基本的查询算法当然是顺序查找(linear search),遍历表然后逐行匹配行值是否等于待查找的关键字,骑士剑复杂度为O(n)。但是时间复杂度O(n)的算法规模小的表,负载轻的数据库,也能有好的性能。但是数据增大的时候,时间复杂度O(n)的算法显然是糟糕的,性能就很快下降了。计算机科学的发展提供了很多更优...
2019-07-19 15:57:04 256
原创 Spring的工作原理???
Spring的工作原理???1)spring mvc 所有的请求都提交给DispatcherServlet,他会委托应用系统的其他模块负责对请求进行真正的处理工作。2)DispatcherServlet查询一个活多个HandlerMapping ,找到处理请求的Controller。3)DispatcherServlet 请求提交到目标Controller。4)Controller 进行业...
2019-07-18 16:12:39 111
原创 Java集合框架
Java集合框架总体框架Java集合可划分为四部分:List列表、Set集合、Map集合、工具类(Iterator 迭代器、Enumeration 枚举类、Arrays 和Collections)。总体框架如图:1)Collection 是一个单只接口,包含了List 列表和Set 集合量大分支。其中:List 是一个有序元素可重复的列表,每个元素都对应一个索引。第一个元素的索引值是0...
2019-07-18 15:16:09 165
原创 Redis 数据类型
Redis 数据类型Redis 支持五种数据类型:String(字符串)、hash(哈希)、list(列表)、set(集合)及zset(sorted set:有序集合)。String(字符串)string是Redis最基本的数据类型,你可以理解成与Memcached 一模一样的类型。一个key对应一个value。string 类型是二进制安全的。意思是Redis 的string 可以包...
2019-07-17 11:16:18 94
原创 Redis简介和安装
Redis 简介Redis 是完全开源免费的,遵守BSD 协议,是一个高性能的key-value数据库。Redis 与其他key-value 缓存产品有一下三个特点:Redis 支持数据的持久化,可以将内存中的数据报销在磁盘中,重启的时候可以再次加载进行使用。Redis 不仅仅支持简单的key-value 类型数据,同时和提供String、list、set、zset、hash等数据结构的...
2019-07-17 10:08:33 120
原创 什么是Spring,他有什么特点??
Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。轻量-----从大小与开销两方面而言Spring都是轻量的。完整的Spring 框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring 所需的处理开销也是微不足道的。此外,Spring 是非侵入式的:典型的,Spring应用中的独享不依赖与Spring的特点类。控制反转(IoC)-------Spring ...
2019-07-16 15:24:11 222
原创 Spring框架有哪几部分组成??
Spring框架有哪几部分组成??Spring 框架有七个模块组成,这7个模块(或组件)均可以单独存在,也可以与其他一个或者多个模块联合使用,主要功能表现如下:**Spring 核心容器(Core):**提供Spring框架基本功能。核心容器的主要组件是BeanFactory,他是工厂模式的实现。BeanFactory 使用控制反转(IoC)模式将应用程序的配置和依赖性规范与实际的应用代码程序...
2019-07-16 14:24:46 2985 1
原创 如何优化Hibernate???
如何优化Hibernate???使用双向一对多关联,不使用单向一对多;灵活使用单向一对多关联;不用一对一,用多对一取代;配置对象缓存,不使用集合缓存;一对多集合使用Bag,多对多集合使用Set ;继承类使用显示多态;表字段要少,表关联不要怕多,有二级缓存撑腰;...
2019-07-16 10:47:06 115
原创 Hibernate 如何延迟加载????
Hibernate 如何延迟加载????Hibernate2 延迟加载实现:1)实体对象2)集合(Collection)Hibernate3 提供了属性的延迟加载功能。当Hibernate 在查询数据的时候,数据并没有存在与内存中,当程序真正对数据的操作时,对象才存在与内存中,就实现了延迟加载,他节省了服务器的内存开销,从而提高了服务器的性能。Hibernate 中怎样实现类之间的关系...
2019-07-16 10:27:42 187
原创 Hibernate 工作原理及为什么要用???
Hibernate 工作原理:1)读取并解析配置文件2)读取并解析映射信息,创建SessionFactory3)打开Session4)创建事务Transation5)持久化操作6)提交事务7)关闭Session8)关闭SessionFactory为什么要用???对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。Hibernate 是一个基于JDBC的...
2019-07-16 10:19:34 128
原创 Spring 对很忙ORM框架提供了很好的支持,描述下在spring 使用hibernate 的方法
Spring 对很忙ORM框架提供了很好的支持,描述下在spring 使用hibernate 的方法???在context 中定义DataSource, 创建SessionFactory ,设置参数;DAO类继承HibernataDaoSupport,实现具体接口,从中获得HibernateTemplate 进行具体操作。在使用中如果遇到OpenSessionInView 的问题,可以添加Ope...
2019-07-15 19:30:27 229
原创 简单描述一下IoC(inversion of control)的理解
简单描述一下IoC(inversion of control)的理解??一个类需要用到某个接口的方法,我们需要将类A 和接口B 的实现关联起来,最简单的方法是类A 中创建一个对于接口B 的实现C 的实例,但这种方法显然两者的依赖(Dependency)太大了,而IoC 的方法是只类A中定义好用于关联接口B的实现方法,将类A,接口B和接口B的实现C放入IoC 的容器(Container)中,通过一...
2019-07-15 19:24:52 534
原创 描述spring 中实现依赖注入DI(dependency injection)的几种方式
描述spring 中实现依赖注入DI(dependency injection)的几种方式方式一:接口注入,在实际中得到了普遍的应用,即使在IOC 的概念香味确立时,这样的方法也已经频繁出现我们的代码中;方式二:Type2 IOC:Setter injection 对象创建之后,将被依赖对象通过set 方法设置进去;方式三:Type3 IOC: Constructor injection 对...
2019-07-15 17:00:45 619
原创 Spring 的优点
spring 是一个继承了许多第三方框架的大杂烩,其核心技术是IOC(控制反转,也称作依赖注入)和AOP(面向切面编程)Spring 的优点是什么??1)Spring 是分层的架构,你可以选择使用那你需要的层,而不用管不需要的部分。2)Spring 是POJO 编程,POJP编程使得可持续构建和可测试能力提高。3)依赖注入和IOC 使得JDBC 操作简单化。4)Spring是开源的免费的...
2019-07-15 16:52:14 269
转载 适配器设计模式
适配器设计模式1.案例比如我们现在又一个人力西苑管理系统,其中人员管理的对象是所有员工的所有信息,这里的所有员工是指在职的员工,其他的离职的,退休的咱是不考虑。类图与代码如下:public interface IUserInfo { //获得用户姓名 public String getUserName(); //获得家庭地址 public String getHomeAdd...
2019-07-15 15:28:55 173
转载 观察者设计模式
观察者设计模式:百度百科定义:观察者模式(有时又被称为模型(Model)-视图(View)模式、源-收听者(Listener)模式或从属者模式)是软件设计模式的一种。在此模式中,一个目标物件管理所有相依于他的观察者物件,并且在他本身的状态改变时主动发出通知。这通常投过呼叫各种观察者所提供的方法来实现。此种模式通常被用来实现时间处理系统。思维导图:什么是观察者设计模式:观察者模式(Obs...
2019-07-15 11:26:30 145
转载 抽象工厂设计模式
抽象工厂设计模式1.核心实现类**抽象工厂类:**抽象工厂角色,声明一组创建爱你产品的方法,每一个方法对应生成一种产品;**具体工厂角色:**实现抽象工厂中定义的创建产品的方法,生成一组具体的产品呢,这些产品构成一个产品品种,每一个产品都位于每个产品的等级结构中;**抽象产品角色:**为没哟个产品声明接口,即该类产品必须所应有的属性或者方法;**具体产品角色:**定义具体工厂生产的具体产...
2019-07-15 09:45:02 82
转载 工厂方法设计模式
前言:简单工厂模式的问题:工厂类集中了所有势力(产品)的创建逻辑,一旦这个工厂不能正常工作,整个系统都会受到影响;违背了“开放-关闭原则”,一旦添加新产品就不得不修改工厂类的逻辑,这样就会造成工厂逻辑过于复杂;简单工厂模式由于使用了静态工厂方法,静态方法不能被继承和重新,会造成工厂角色无法形成基于继承的等级结构;介绍:定义:工厂方法模式,又称工厂模式、多态工厂模式和虚拟构造器模式...
2019-07-12 15:28:06 114
转载 简单工厂设计模式
简单工厂设计模式:简单工厂模式属于创建型模型,又叫静态工厂方法(Static Factory Method)模式。但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式加族中最贱实用的模式,可以理解为是不同工厂模式的一个特殊实现。简单工厂提供一个创建对象实例的功能,而无需关系其具体实现,被创建实例的类型可以是接口、抽象类、也可以是具体...
2019-07-12 10:50:15 101
原创 共享锁 VS 排他锁
共享锁:又称读锁,如事务T对数据对象A加了S锁,则是事务T可以读A 但是不能修改A, 其他事务只能再对他加S锁,而不能加X锁,知道事务T释放A上的S锁。这保证了其他事务可以读A,但在事务T释放S所之前,不嫩对A做任何操作。排他锁:又称写锁,若事务T读数据对象加X锁,事务T可以读A也可以写A,其他事务不能对A加任何锁,知道T释放A上的锁。这保证了,其他事务在T释放A上的锁之前不能再读取和修改A。...
2019-07-11 15:42:31 189
原创 Memcached和Redis
**Memcached:**是高性能分布式内存缓存服务器,本质是一个内存key-value 数据库,但不支持数据持久化,服务器关闭后,数据全部丢失。只支持 key-value结构。Redis: Redis是一个key-value存储系统。将大部分数据放在内存中,支持的数据类型有:字符型、hash表、链表、集合、有序集合以及基于这些数据类型的相关操作。Redis内部使用一个redisobject对...
2019-07-11 11:28:26 124
原创 知道哪些服务器?答:JBoss,Apache,weblogic。问:区别?
应用服务器:Tomcat、JBoss、Apache、weblogic\webSphere1)Tomcat:应该十分广泛的web服务器,支持部分j2ee,免费,支持servlet、jsp。2)JBoss:开源应用服务器。3)weblogic\webSphere:业界第一的appserver。4)Apache:全球应用最广泛的http服务器,但只支持静态页面,比如ASP,PHP等动态网页不支持...
2019-07-11 11:08:37 254
原创 springMVC
springMVC运行原理:1)客户端请求提交到DispatcherServlet;2) 由DispatcherServlet控制器查询一个or多个handlermapping,找到处理请求controller;3)DispatcherServlet将请求提交给controller;4)controller 调用逻辑处理完后,返回methodAndView;5)DispatcherSe...
2019-07-11 11:00:34 101
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人