- 博客(9)
- 收藏
- 关注
原创 JAVA并发编程(五):多线程安全和性能问题
当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以或得正确的结果,那么这个对象时线程安全的。
2021-12-16 09:17:48 322
原创 JAVA并发编程(二):线程的停止和中断最佳实践
Java中停止线程的原则是什么?在Java中,最好的停止线程的方式是使用中断interrupt,但是这仅仅是会通知到被终止的线程“你该停止运行了”,被终止的线程自身拥有决定权(决定是否、以及何时停止),这依赖于请求停止方和被停止方都遵守一种约定好的编码规范。任务和线程的启动很容易。在大多数时候,我们都会让它们运行直到结束,或者让它们自行停止。然而,有时候我们希望提前结束任务或线程,或许是因为用户取消了操作,或者服务需要被快速关闭,或者是运行超时或出错了。要使任务和线程能安全、快速、可靠地停止下来,并不
2021-01-11 12:05:51 248
原创 java并发基础(一)-创建线程的方法和实践
Thread源码分析我们可以看到平时我们通过实现Runnable接口和继承Thread来重写run方法,最终归结到了run方法的调用上。一个是重写,一个是调用接口的方法。源码示例:/* What will be run. */ private Runnable target; public Thread(Runnable target) { init(null, target, "Thread-" + nextThreadNum(), 0); } priva
2021-01-05 09:09:37 83
原创 Final关键字和不变性
Final关键字和不变性1.什么是不变性(Immutable)2.final的作用早期JAVA版本的的作用现在JAVA版本中的作用3.final3种用法3.1修饰变量final修饰3种变量final修饰变量:赋值时机为什么要规定赋值时机3.2修饰方法3.3修饰类final注意点5.不变性和final的关系1.什么是不变性(Immutable)如果对象在被创建后,状态就不能被修改,那么它就是不可变的例子:car对象,money和name都不能再变,无论内部属性访问是否改为pubilc,外部都无法再进行修
2020-12-26 17:16:28 276 4
转载 关于Swagger2和SpringBoot整合使用
一、为什么要使用Swagger2现代化的研发组织架构中,一个研发团队基本包括了产品组、后端组、前端组、APP端研发、 测试组、 UI组等,各个细分组织人员各司其职,共同完成产品的全周期工作。如何进行组织架构内的有效高效沟通就显得尤其重要。其中,如何构建一份合理高效的接口文档更显重要。二、常用的注解三、使用步骤1、导入依赖<!-- swagger2 配置 --> <dependency> <groupId>i
2020-05-13 23:41:42 614
转载 Springboot2.0解决跨域问题
前后端分离大势所趋,跨域问题更是老生常谈,随便用标题去google或百度一下,能搜出一大片解决方案,那么为啥又要写一遍呢,不急往下看。问题背景:Same Origin Policy,译为“同源策略”。它是对于客户端脚本(尤其是JavaScript)的重要安全度量标准,其目的在于防止某个文档或者脚本从多个不同“origin”(源)装载。它认为自任何站点装载的信赖内容是不安全的。当被浏览器半信半疑的脚本运行在沙箱时,它们应该只被允许访问来自同一站点的资源,而不是那些来自其它站点可能怀有恶意的资源。注:
2020-05-13 23:25:36 274
原创 Apache+nagix使用Lnmpa创建一个新的站点
我们在部署服务器的时候通常会遇到需要分域名和分应用部署,那么如何通过Apache+nagix创建一个新的站点服务呢LNMPA这种架构有什么优势?LNMPA使用Nginx作为前端服务能够更快更及时的静态页面、js、图片等,当客户端请求访问动态页面时由Nginx的反向代理给Apache处理,Apache处理完再交予Nginx返回给客户端。采用LNMPA能够更好的解决LNMP架构中由于PHP...
2018-12-07 16:31:26 505
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人