Stella981 Stella981
4年前
Spring Boot(四):如何优雅的使用 Mybatis
一、前言Orm框架的本质是简化编程中操作数据库的编码,发展到现在,基本上就剩宣称不用谢一句sql的hibernate,一个是可以灵活调试动态sql的mybatis,两者各有特点,在企业级系统来发中可以根据需求灵活使用。发现一个有趣的现象:传统企业大都喜欢hibernate,互联网行业通常使用mybatis。hibernate特点就是所有的sq
Wesley13 Wesley13
4年前
IO复用-阻塞IO-非阻塞IO-同步IO-异步IO
本文是对《UNIX网络编程卷1》第6章的总结。一、            什么是IO复用?它是内核提供的一种同时监控多个文件描述符状态改变的一种能力;例如当进程需要操作多个IO相关描述符时(例如服务器程序要同时查看监听socket和大量业务socket是否有数据到来),需要内核能够监控这许多描述符,一旦这些描述符有就绪(或者状态改变了)就告
Stella981 Stella981
4年前
Redis系列1
本文只讲有关于在 WindowsC中使用Redis所需要用到的资源,不涉及在C中使用Redis的编程示例,整体过程我把它分为三个步骤,并按标题的顺序逐一实现。1、下载并安装Redis服务需要先下载Redis服务,并安装于操作系统中,安装步骤和安装其它的Windows程序一样,这里就不花多余的花篇幅讲了。根据自身操作系统下载适用的
Stella981 Stella981
4年前
HashMap多线程下死循环的坑记录
PS:不得不说Java编程思想这本书是真心强大..学习内容:1.HashMap<K,V在多线程的情况下出现的死循环现象当初学Java的时候只是知道HashMap<K,V在并发的情况下使用的话,会出现线程安全问题,但是一直都没有进行深入的研究,也是最近实验室的徒弟在问起这个问题的原因之后,才开始进行了一个深入的研究
Stella981 Stella981
4年前
ConcurrentLinkedQueue 介绍
在多线程编程环境下并发安全队列是不可或缺的一个重要工具类,为了实现并发安全可以有两种方式:一种是阻塞式的,例如:LinkedBlockingQueue;另一种即是我们将要探讨的非阻塞式,例如:ConcurrentLinkedQueue。相比较于阻塞式,非阻塞的最显著的优点就是性能,非阻塞式算法使用CAS来原子性的更新数据,避免了加锁的时间,同时也保证了数据的
Stella981 Stella981
4年前
OpenGL 做demo会用到
说起编程作图,大概还有很多人想起TC的include<graphics.h吧?但是各位是否想过,那些画面绚丽的PC游戏是如何编写出来的?就靠TC那可怜的640\480分辨率、16色来做吗?显然是不行的。本帖的目的是让大家放弃TC的老旧图形接口,让大家接触一些新事物。OpenGL作为当前主流的图形API之一,它在一些场合具有比DirectX
Wesley13 Wesley13
4年前
TDD 测试驱动开发
测试驱动开发,英文全称TestDrivenDevelopment,简称TDD,是一种不同于传统软件开发流程的新型的开发方法。它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行。这有助于编写简洁可用和高质量的代码,并加速开发过程。1概述KentBeck先生最早在其极限编程(XP)方法论中,向大
Stella981 Stella981
4年前
Shell 特殊变量
shell编程中有一些特殊的变量可以使用。这些变量在脚本中可以作为全局变量来使用。名称说明$0执行脚本的名称$19脚本执行时的参数1到参数9$?脚本的返回值,代表上一个命令是否执行成功,如果成功,则为0,否则不成功$!代表最后执行的后台命令的PID    $脚本执行时,输入的参数的个数$@输入的参数
Easter79 Easter79
4年前
Spring技术内幕总结
AOP是AspectOrientedProgramming(面向方面/切面编程)的简称。Aspect是一种新的模块化机制,用来描述分散在对象、类或函数中的横切关注点。分离关注点使解决特定领域问题的代码从业务逻辑中独立出来,业务逻辑的代码中不再含有针对特定领域问题代码的调用,业务逻辑同特定领域问题的关系通过切面来封装、维护,这样原来分散在整个应用程序中的变
Stella981 Stella981
4年前
ECMall中Widgets模式的布局引擎
自己做过框架的人,可能都会思考一个问题,模板引擎需要什么特性?Widgets模式,很多系统中都有出现,但对于纯开发人员,不管前端或后台人员来说,都觉得稍微麻烦了一点。因为他将界面硬生生的拆分出了很多零散的部分,对于编程人员来说,有点不流畅的感觉。ECMall中也使用了Widgets的特性。Widgets在使用时,可以接受参数的定义,这样尽可能的重