- 博客(19)
- 收藏
- 关注
原创 break语句中一点小小的使用技巧
java中提供了一种带标签的break语句,用于跳出多重嵌套的循环语句。下面是例句,注意,标签一定要放在希望跳出的最外层循环之前,并且紧跟一个冒号。Scanner scan = new Scanner(System.in);int n;read_data:while(scan.hasNext()){ for(int i = 0; i < 100; i++){ System.out.println("请输入一个数字:"); n = scan.nextInt();
2020-11-10 14:24:40
276
原创 为什么要进行前后端分离
在面试时被问到为什么要前后端分离时该怎么回答?1、前后端分离的原因 从本质上来看前后端分离本身并不是一个技术问题,而是一个工程化考量和项目管理的问题。在早些年的时候,Web化趋势还不是那么明显,JSP可以应付大多数的业务场景,但是随着整个社会信息化程度的加深,以及各种各样的服务都Web化以后,前端的页面开始变得复杂起来,JSP这种前后端高耦合的技术就不是那么的好用了。其本质的原因,是因为前端并没有像后端一样,工程化、模块化和可复用化的思维来做。所以项目管理者就开始对项目进行解耦。...
2020-11-10 11:23:19
4265
原创 Java中的守护线程
在Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程)只要当前JVM实例中尚存在任何一个非守护线程没有结束,守护线程就全部工作;只有当最后一个非守护线程结束时,守护线程随着JVM一同结束工作。Daemon的作用是为其他线程的运行提供便利服务,守护线程最典型的应用就是 GC (垃圾回收器),它就是一个很称职的守护者。User和Daemon两者几乎没有区别,唯一的不同之处就在于虚拟机的离开:如果 User Thread已经全部退出运行了,只剩下Daemon
2020-11-10 11:20:06
225
原创 redis是做什么的?如何防止雪崩?如何防止穿透?如何防止击穿?
什么是Redis?Redis 是开源免费的,遵守BSD协议,是一个高性能的key-value非关系型数据库。Redis缓存流程:用户发送请求,请求会先被Redis拦截,如果Redis中有该数据缓存,则直接返回,如果Redis中没有该数据缓存,则会到数据库中查询数据,如果数据库中返回了数据,则将结果返回给用户,并将SQL数据同步至Redis缓存中,并设置缓存过期时间。Redis的特点:Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用...
2020-11-08 15:32:58
851
原创 GET,POST,PUT,DELETE的区别
1、GET:GET请求会向数据库发送数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询数据,不会修改,增加数据,不会影响资源内容,即该请求不会产生副作用。无论进行多少次操作,结果都是一样的。2、PUT:PUT与GET不同的是,PUT请求是想服务器端发送数据的,从而改变信息,该请求就像数据库的update操作一样,用来修改数据的内容,但是不会增加数据的种类等,也就是说无论进行多少次PUT操作,其结果并没有不同。3、POST:POST请求同PUT请求类似,都是向
2020-11-08 15:31:01
11810
1
原创 Java多线程同步的5种方法
1、使用synchronized关键字修饰方法。由于Java的每个对象都有一个内置锁,当用此关键字修饰方法时,内置锁会保护整个方法。在调用该方法前,需要获得内置锁,否则就处于阻塞状态。2、使用sychronized关键字修饰语句块。被该关键字修饰的语句块会自动被加上内置锁,从而实现同步。3、使用特殊域变量(volatile)实现线程同步。 a.volatile关键字为域变量的访问提供了一种免锁机制 b.使用volatile修饰域相当于告诉虚拟机该域可能会被其他线程更新 ...
2020-11-08 15:30:24
296
原创 Nginx是做什么的?如何配置负载均衡?
什么是Ngnix?Ngnix是一个HTTP服务器,是使用C语言开发的高性能的HTTP服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。Nginx能够职称五万并发链接,并且CPU、内存等资源消耗却非常低,运行非常稳定。在中国大陆使用Nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。为什么要配置Nginx的负载均衡?负载均衡是Nginx常用的一个功能,当一台服务器的单位时间内的访问量越大时,服务器压力就越大,大到超过自身承受能力时,服务器就会崩溃。为了避免服务器崩溃,让用户
2020-11-08 15:29:32
287
原创 Java中哪些集合是线程同步的?
首先,线程同步,就意味着线程是安全的,在JDK1.1版本中,所有的集合都是线程安全的。但是在1.2及以后的版本中就出现了一些线程不安全的结合,为什么版本升级反而会出现一些线程不安全的集合呢?因为线程不安全的集合普遍比线程安全的集合效率高的多。随着业务的发展,特别是在WEB应用中,为了提高用户体验,减少用户的等待时间,页面的响应速度(也就是效率)是优先考虑的。而且对线程不安全的集合加锁以后也能达到安全的效果(但是效率会低,因为会有锁的获取以及等待)。其实在JDK源码中相同效果的集合线程安全的比线程不安全的就多
2020-11-08 15:26:44
1136
原创 IOC和AOP的理解以及动态代理
IOC(Inversion of Control,控制反转):IOC容器是Spring框架中的核心。在Spring框架中,所有的类都将在Spring容器中登记,告诉Spring这个类是什么,需要什么,然后Spring会在系统运行到适当的时候把需要到的类主动提交,同时也会把这个类提交给其他需要到的类中。所有的类的创建和销毁都是由Spring来控制,也就是说控制对象生存周期的不再是引用它的对象,而是Spring。对于某个具体的对象而言,以前是它控制其他对象,现在是所有的对象都由Spring来控制,所以这就叫
2020-11-08 15:25:47
521
原创 Java锁机制
Java中的锁有:公平锁/非公平锁 可重入锁 独享锁/共享锁 互斥锁/读写锁 乐观锁/悲观锁 分段锁 偏向锁/轻量级锁/重量级锁 自旋锁公平锁/非公平锁:公平锁是指多个线程按照申请锁的顺序来获取锁。非公平锁是指多个线程获取锁的顺序并不是按照申请的顺序,有可能后申请的线程比先申请的线程有限获取锁。有可能会造成优先级翻转或者饥饿现象。可重入锁:可重入锁又名递归锁,是指在同一个线程在外层方法获取锁的时候,在进入内层方法会自动获取锁。// 此处用代码演示了可重入锁的代.
2020-11-08 15:22:48
184
原创 Java线程的生命周期
线程的生命周期分为五个阶段,分别是:新建状态(New): 创建一个线程对象后,该线程对象就处于新建状态,此时,它不能运行,和其他的Java对象一样,仅仅有Java虚拟机为其分配了内存,没有表现出任何线程的动态特征。就绪状态(Runnable): 当线程对象调用了start()方法后,该线程就进入就绪状态,也称可运行状态,处于就绪状态的线程,位于可运行池中,此时,它只是具备了运行的条件,能否获得CPU的使用权开始执行,还需要等待系统的调度。运行状态:(Running...
2020-11-08 15:21:43
97
原创 Java集合分类以及各自特点
Java中集合分为两大类:Map和Collection。常用的集合有:ArrayList、LinkedList、HashSet、LinkedHashSet、TreeSet、HashMap、LinkedHashMap、TreeMap。数组和集合的区别:1:数组可以存储基本数据类型/引用数据类型基本数据类型存的是值 引用数据类型存的是地址数组在创建的时候就会定义存储的数据类型,也就是只能存储一种数据类型集合只能存储引用数据类型(对象)集合中也可以存储基本数据类型(装箱)但是.
2020-11-08 15:19:59
2291
原创 Java创建线程的方式
Java中,创建线程主要由三种方式:一、继承Thread类创建线程类(1)定义Thread类的子类,并重写该类的run()方法,该run()方法的方法体就代表了线程要完成的任务,因此把run()方法称为执行体。(2)创建Thread子类的实力,即创建了线程对象(3)调用线程对象的start()方法来启动该线程/** * @PACKAGE_NAME: PACKAGE_NAME * @NAME: Thread1 * @USER: 钟家桦 * @DATE: 2020/8/31 ...
2020-11-08 15:14:15
118
转载 git 第一次把项目上传到远程仓库
git 第一次把项目上传到远程仓库https://www.cnblogs.com/yuanchao-blog/p/11730296.html
2020-10-17 23:21:31
89
转载 在阿里云服务器下linux环境安装mysql记录
感谢这位大佬的文章https://www.cnblogs.com/wangshen31/p/9556804.html
2020-10-17 22:16:34
76
原创 学习调用GeoServer的接口时遇到的一些问题(一)
昨天在学习使用前端ajax调用GeoServer的接口时,遇到了一些问题: 一:前端的Header中没有传入授权认证,导致 401错误:ajax未进行用户名密码验证导致; 解决方法:headers: { 'Authorization': 'Basic YWRtaW46Z2Vvc2VydmVy'}用户名和密码通过basic64加密后得到的YWRtaW46Z2Vvc2VydmVy,这里我设置的用户名和密码是:用户名:admin 密码:geoserver。 二:跨域...
2020-07-17 09:16:02
1059
原创 今天在学习使用springboot 整合 mybatis时遇到的坑
在学习使用springboot时,并不是太了解mybatis以及mybatis-plus之间的关系和概念,导致出现了一堆bug。 首先在使用mybatis时,pom依赖忘记依赖mybatis,导致在接口调试时报"message":"Invalidboundstatement(notfound):com.hxsoft.geoserver.mapper.ExportOutPutMapper.findById",<dependency> <groupId&g...
2020-07-15 19:14:40
504
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人