Java

Effective Java (并发)

六十六、同步访问共享的可变数据:在Java中很多时候都是通过synchronized关键字来实现共享对象之间的同步的。事实上,对象同步并不仅限于当多个线程操作同一可变对象时,仍然能够保证该共享对象的状态始终保持一致。与此同时,他还可以保证进入同步方法或者同步代码块的每个线程,都看到由同一个锁保护的之前所有的修改效果。Java的语言规范保证了读写一个变量是原子的,除非这个变量的类型为long或double。换句话说,读取一个非long或double类型的变量

系统 2019-08-29 22:02:40 2453

Java

Effective Java (类和接口)

十三、使类和成员的可访问性最小化:信息隐藏是软件程序设计的基本原则之一,面向对象又为这一设计原则提供了有力的支持和保障。这里我们简要列出几项受益于该原则的优势:1.更好的解除各个模块之间的耦合关系:由于模块间的相互调用是基于接口契约的,每个模块只是负责完成自己内部既定的功能目标和单元测试,一旦今后出现性能优化或需求变更时,我们首先需要做的便是定位需要变动的单个模块或一组模块,然后再针对各个模块提出各自的解决方案,分别予以改动和内部测试。这样便大大降低了因代

系统 2019-08-29 22:02:34 2453

Java

加速Java应用开发速度3——单元/集成测试+CI

《加速Java应用开发速度》系列目录:加速Java应用开发速度1——加速spring/hibernate应用调试时启动速度加速Java应用开发速度2——加速项目调试启动速度加速Java应用开发速度3——单元/集成测试+CI加速Java应用开发速度4——使用模板技术加速项目开发速度加速Java应用开发速度5——使用脚本自动化日常操作大家可能对如下情景比较熟悉:如果开发过SSH的web项目,启动服务器可能会比较慢,有的项目甚至需要1分多钟,甚至更多,这个启动时

系统 2019-08-29 22:00:52 2453

编程技术

转:反射实现 AOP 动态代理模式(Spring AOP的实

好长时间没有用过Spring了.突然拿起书.我都发现自己对AOP都不熟悉了.其实AOP的意思就是面向切面编程.OO注重的是我们解决问题的方法(封装成Method),而AOP注重的是许多解决解决问题的方法中的共同点,是对OO思想的一种补充!还是拿人家经常举的一个例子讲解一下吧:比如说,我们现在要开发的一个应用里面有很多的业务方法,但是,我们现在要对这个方法的执行做全面监控,或部分监控.也许我们就会在要一些方法前去加上一条日志记录,我们写个例子看看我们最简单的

系统 2019-08-29 21:58:29 2453

编程技术

SSD06 Exercise04 个人解答

ProfilingLab:UnderstandingProgramPerformanceInthisexercise,youwillmodifyanexistingprogramtomakeitrunfaster.Theprogramisnotwrittenforspeed.Youwillfindmanythingstooptimize,butyoushouldconcentrateonoptimizationsthatwillmakeasignifica

系统 2019-08-29 21:57:58 2453

编程技术

按自己理解设计搜索引擎数据

最近想研究一下搜索引擎,看资料前,前几晚趟在床上初步琢磨了一下;其实自己以前也有些零星的想法,先把自己的初步方案记录下来。再和Lucence等对比一下,检验一下自己的想法。主要是搜索引擎的基本架构和数据模型。1.基本架构按照使用这么多年Yahoo,Baidu的经验,SearchEngine要做的事儿就是:输入几个关键字,查询出很多的网址列表。列表一般按匹配度,网址的跳转频率等排序,也要简单列出该网页的前几十个字作为摘要。所以查询模块是最外层的,也是第一个模

系统 2019-08-12 09:30:17 2453

编程技术

为对付Google+,Facebook隐私政策重大调整

Facebook今天对其隐私政策作出重大调整,包括用户对照片,状态以及各种分享的控制。解决了该网站已经持续了几年的一些毛病,当然也包括一些隐私问题。那就让我们来一探究竟吧:第一个是我期待很久的功能了,现在可以对标签,包括照片的标签,在他们出现在你的主页之前作出决定是准许还是拒绝。这是一个大问题,是人们一直在照片首次发布方面要求的功能。这项对那些你的朋友将你打上标签的照片是默认的。现在可以给那些不是你的Facebook好友的人也在照片上打上标签。如果你从一个

系统 2019-08-12 09:29:59 2453

编程技术

代理(Proxy)模式

所谓代理,就是一个人或者一个机构代表另一个人或者另一个机构采取行动。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。代理(Proxy)模式给某一个对象提供一个代理,并由代理对象控制对原对象的引用。一,结构抽象主题角色(Subject):声明了真实主题和代理主题的共同接口,这样一来在任何使用真实主题的地方都可以使用代理主题。代理主题(Proxy)角色:代理主题角色内部含有对真是主题的引用,从而可以在任

系统 2019-08-12 09:29:46 2453

Java

开源 免费 java CMS - FreeCMS1.3-系统配置

下载地址:http://code.google.com/p/freecms/系统配置从FreeCMS1.2开始支持管理系统使用的配置项。从左侧管理菜单点击系统配置进入。从FreeCMS1.3开始支持会员禁用登录名邮件相关配置开源免费javaCMS-FreeCMS1.3-系统配置

系统 2019-08-12 01:32:52 2453

Java

从事 Java 20 年最终却败给了 Python,哭了!

之前遇到一个老师,他从事Java行业20年了,在Python兴起的时候,他周围的其他同行们都在纷纷学习Python方面的知识,连他的学生也问他“老师,你为什么不学Python呢?”。当这位听到学生这个问题的时候,他心里一怔一下,自己从事了Java这么多年,编写了这么多年的Java代码,Java的好他最清楚不过了,觉得Python再怎么盛行他也不会改行学别的,因为在他的眼里Java是不可取代的语言!可当Python逆袭各大编程排行版后,新媒体、身边朋友也都在

系统 2019-09-27 17:56:26 2452

Python

python学习笔记(一)

这里主要是总结学习过程中遇到的一些问题和注意事项文章目录关于函数参数问题默认参数可变参数关键参数关于函数作为返回值关于Function和Method理解关于函数参数问题默认参数函数参数可以有默认参数,而默认参数使用不当很容易掉坑里。defpersonInfo(name,age=22,city='BeiJing'):print(name,age,city)personInfo('allen')#==>allen22BeiJingpersonInfo('all

系统 2019-09-27 17:56:22 2452

Java

Java和Python的算法数据结构面试问题

有很多计算机科学专业毕业生和程序员在Uber和Netflix等公司申请编程,编码和软件开发职位。亚马逊,微软和谷歌等大型组织;和Infosys或Luxsoft等基于服务的公司。但是,当你申请这些公司的工作时,他们中的许多人都不知道会有什么样的编程面试问题。在本文中,我将分享一些常见问题的算法和数据结构面试问题,这些问题来自不同层次经验的程序员,从刚从大学毕业的人到具有一到两年经验的程序员。编码访谈主要包括数据结构和基于算法的问题以及一些逻辑问题,例如“如何

系统 2019-09-27 17:54:20 2452

Python

GitHub上分享一行Python代码爬网站视频

目录1、模块简介2、应用今天介绍的这个项目提供了一个很好的解决方案——只需要1行命令就能够从各大视频网站中下载想要的视频,而且不必安装视频网站专用APP或者第三方缓存工具——Python神器库You-Get。1、模块简介You-Get是GitHub上一个评分很高的Python项目,作为一款精巧的命令行应用程序,可以很方便地从Web网站下载视频。其下载的视频文件可以直接打开播放,不需要安装特定的网络浏览器,也免去了在线观看广告太长的烦恼。事实上,you-ge

系统 2019-09-27 17:52:48 2452

Java

Java通过python命令执行DataX任务的实例

1.安装datax2.安装python并配置环境变量3.把mysql2odps.json文件放在datax安装目录的job文件夹下4.运行Test.java测试mysql2odps.json文件:{"job":{"content":[{"reader":{"name":"mysqlreader","parameter":{"username":"$username","password":"$password","where":"optime>='$sta

系统 2019-09-27 17:50:29 2452

Python

Python shutil模块--文件拷贝与权限操作

目录基础部分shutil.copyfileobj(file1,file2):shutil.copyfile(file1,file2):其他shutil.copymode(file1,file2):shutil.copystat(file1,file2):shutil.copy(file1,file2):shutil.copy2(file1,file2):shutil.copytree(源目录,目标目录):shutil.rmtree(目标目录):shutil

系统 2019-09-27 17:49:32 2452