未找到

未发布 远程共享工具USB Network Gate v8.0.1828发布,支持Windows Server 2016
by Harriet666 keys 分享 1500887724702
USB Network Gate(原USB以太网连接器)可以通过以太网(互联网/局域网/广域网)在您的计算机上轻松连接一个或多个远程USB设备。如果你是在其他国家或在隔壁的办公室,那也没关系,你可以随时地使用远程打印机,扫描仪,摄像头,USB加密狗或其他任何东西,就好像他们是直接连接到你的电脑上的。
 
【USB Network Gate v8.0.1828点击下载>>>】
 
增加以下本地化:
  • 中文
  • 荷兰语
  • 法语
  • 德语
  • 意大利语
  • 日语
  • 韩语
  • 波兰语
  • 葡萄牙语
  • 俄语
  • 西班牙语
新增:
  • 显示每个连接双向传输的数据量。
  • 显示每个连接的双向数据传输速度。
  • 其他客户端连接到本地时显示客户端的IP地址(而不是“localhost”)。
  • 如果共享设备在一段时间内未激活,增加客户端自动断开选项。
  • 防止共享设备在断开连接后重新启动的选项。
  • 完全支持Windows Server 2016。
改进:
  • 与高分辨率显示器的GUI兼容性。
  • USB Network Gate服务器与客户端之间网络连接的性能。
  • 驱动程序使用WHQL进行数字签名。
修复:
  • 当从USB集线器共享设备时执行“unshare-all-usb-ports”命令,该USB集线器与设备断开连接,并未在列表中。
  • 出现几个BSOD。
  • 客户端命令行中显示的共享设备的描述和状态不准确。
  • 使用系统中显示的USB驱动器作为SCSI(例如Seagate Expansion)。
  • 在设备共享后启用“允许其他用户断开连接”选项不会保持。
  • 共享相同设备时出现的问题。
  • 次要激活问题。
未发布 Windows Server 2016——让世界上最大的云数据中心背后的创新为你所用
by Harriet666 keys 分享 1496914378726
Windows Server 2016是微软发布的最新服务器操作系统。它在整体的设计风格与功能上更加靠近了Windows 10。
 
Windows Server 2016中的新增功能

一、计算
虚拟化区域包括适用于 IT 专业人员的虚拟化产品和功能,以设计、部署和维护 Windows Server。
常规
由于 Win32 Time 和 Hyper-V 时间同步服务的改进,物理和虚拟计算机从更高的时间准确性中受益。 现在,Windows Server 可以托管与即将推出的要求 UTC 准确性为 1 ms 的规则相容的服务。
Hyper-V
Nano Server
Nano Server 的新增功能。 Nano Server 具有一个已更新的模块,用于构建 Nano Server 映像,包括物理主机和来宾虚拟机功能的更大分离度,以及对不同 Windows Server 版本的支持。
恢复控制台也有改进,其中包括入站和出站防火墙规则分离及 WinRM 配置修复功能。
受防护的虚拟机
Windows Server 2016 提供新的基于 Hyper-V 的受防护的虚拟机,以保护任何第 2 代虚拟机免受已损坏的构造影响。 Windows Server 2016 中引入的功能如下所示:
  • 新的“支持加密”模式提供比为普通虚拟机提供的更多、但比防护模式少的保护功能,同时仍支持 vTPM、磁盘加密、实时迁移通信加密和其他功能,包括直接构造管理便利(例如虚拟机控制台连接和 Powershell Direct)。
  • 完全支持将现有非受防护的第 2 代虚拟机转换为受防护的虚拟机,包括自动磁盘加密。
  • Hyper-V 虚拟机管理器现在可以查看授权运行的受防护的虚拟机上的构造,为构造管理员提供了一种打开受防护的虚拟机的密钥保护程序 (KP) 并查看构造是否有权在其上运行的方式。
  • 你可以转换运行的主机保护者服务上的证明模式。现在你可以即时在不太安全但更简单、基于 Active Directory 的证明和基于 TPM 的证明之间进行切换。
  • 基于 Windows PowerShell 的端到端诊断工具能够检测到受保护的 Hyper-V 主机和主机保护者服务中的错误配置或错误。
  • 恢复环境不仅提供在虚拟机可正常运行的构造中安全地排查故障并修复受防护的虚拟机的方法,还提供与受防护的虚拟机本身相同的保护级别。
  • 主机保护者服务支持现有的安全 Active Directory – 可以指示主机保护者服务使用现有的 Active Directory 林作为其 Active Directory,而不是创建自己的 Active Directory 实例
有关使用受防护的虚拟机的详细信息和说明,请参阅 Shielded VMs and Guarded Fabric Validation Guide for Windows Server 2016 (TPM)(Windows Server 2016 (TPM) 受防护的 VM 和受保护的构造验证指南)。
 
二、身份标识和访问控制
身份标识中的新功能提高了组织保护 Active Directory 环境的能力,并帮助他们迁移到仅限云的部署和混合部署,其中某些应用程序和服务托管在云中,其他的则托管在本地。
Active Directory 证书服务
Active Directory 证书服务中的新增功能。 Windows Server 2016 中的 Active Directory 证书服务 (AD CS) 增加了对 TPM 密钥证明的支持:现可使用智能卡 KSP 进行密钥证明,而未加入域的设备现在可以使用 NDES 注册,以获得可证明 TPM 中密钥的证书。
Active Directory 域服务
Active Directory 域服务包括可帮助组织保护 Active Directory 环境并为公司和个人设备提供更好的标识管理体验的改进。 有关详细信息,请参阅 What's new in Active Directory Domain Services (AD DS) in Windows Server 2016(Windows Server 2016 中 Active Directory 域服务 (AD DS) 中的新增功能)。
Active Directory 联合身份验证服务
Active Directory 联合身份验证服务中的新增功能。 Windows Server 2016 中的 Active Directory 联合身份验证服务 (AD FS) 包括使你可以配置 AD FS 以对轻型目录访问协议 (LDAP) 目录中存储的用户进行身份验证的新功能。 有关详细信息,请参阅 Windows Server 2016 中 AD FS 的新增功能
Web 应用程序代理
Web 应用程序代理的最新版本专注于为更多应用程序实现发布和预身份验证的新功能以及改进的用户体验。 查看新功能的完整列表,其中包括针对丰富的客户端应用(如 Exchange ActiveSync)的预身份验证以及用于更轻松地发布 SharePoint 应用的通配符域。 有关详细信息,请参阅 Windows Server 2016 中 Web 应用程序代理的新增功能
 
三、管理
管理和自动化部分重点介绍适用于想要运行和管理 Windows Server 2016(包括 Windows PowerShell)的 IT 专业人员的工具和参考信息。
Windows PowerShell 5.0 包含重要的新功能(包括支持使用类进行开发、可扩展其用途的新安全功能),提高其可用性,并允许你更轻松、全面地控制和管理基于 Windows 的环境。请参阅 Windows Management Framework (WMF) 5.0 RTM 发行说明概述,获取详细信息。
Windows Server 2016 的新增功能包括:在 Nano Server 上本地运行 PowerShell.exe(不再仅限于远程),新增“本地用户和组”cmdlet 来替换 GUI,添加了 PowerShell 调试支持,并添加了对 Nano Server 中安全日志记录和脚本以及 JEA 的支持。
下面是一些其他新管理功能:
Windows Management Framework (WMF) 5 中的 PowerShell 期望状态配置 (DSC)
Windows Management Framework 5 包括对 Windows PowerShell 期望状态配置 (DSC)、Windows 远程管理 (WinRM) 和 Windows 管理规范 (WMI) 的更新。
有关测试 Windows Management Framework 5 的 DSC 功能的详细信息,请参阅 PowerShell 期望状态配置 (DSC) 的验证功能中所论述的一系列博客文章。若要下载,请参阅 Windows Management Framework 5.0
用于软件发现、安装和清单的 PackageManagement 统一包管理
Windows Server 2016 和 Windows 10 引入了一种新的 PackageManagement 功能(以前称为 OneGet),该功能可以允许 IT 专业人员或开发人员使软件发现、安装、清单 (SDII) 在本地或远程自动进行,无论安装程序技术为何,也不管软件位于何处。
有关详细信息,请参阅 https://github.com/OneGet/oneget/wiki
有助于数字取证和减少安全漏洞的 PowerShell 增强功能
为了帮助负责调查受损系统的团队(有时称为“蓝队”),我们已添加其他 PowerShell 日志记录和其他数字取证功能,并且已添加有助于在脚本中减少漏洞的功能,例如受限的 PowerShell 和安全 CodeGeneration API。
 
四、网络
本部分论述了适用于 IT 专业人员的网络产品和功能,可用于设计、部署和维护 Windows Server 2016。
软件定义的网络
你现在可以将流量映射并传送到新的或现有虚拟设备。 与分布式防火墙和网络安全组联合使用,使你能够以类似于 Azure 的方式动态分段和保护工作负荷。 其次,你可以使用 System Center Virtual Machine Manager 部署并管理整个软件定义的网络 (SDN) 堆栈。 最后,可以使用 Docker 来管理 Windows Server 容器网络,并将 SDN 策略与虚拟机和容器关联。有关详细信息,请参阅计划软件定义的网络的部署
TCP 性能改进
默认初始拥塞窗口 (ICW) 已从 4 增加到 10 并已实现 TCP 快速打开 (TFO)。 TFO 减少了建立 TCP 连接所需的时间,并且增加的 ICW 允许在初始突发中传输较大的对象。 此组合可以显著减少在客户端和云之间传输 Internet 对象所需的时间。
当从数据包丢失恢复时,为了改善 TCP 行为,我们实施了 TCP 尾部丢失探测 (TLP) 和最新确认 (RACK)。 TLP 可帮助将转发超时 (RTO) 转换为快速恢复,而 RACK 可减少快速恢复所需的时间,以重新传输丢失的数据包。
 
五、安全和保障
此部分包含适用于 IT 专业人员的安全解决方案和功能,可在数据中心和云环境中进行部署。 有关 Windows Server 2016 中常规安全性的信息,请参阅安全和保障
Just Enough Administration
Windows Server 2016 中的 Just Enough Administration 是一种安全技术,可使能由 Windows PowerShell 管理的任何内容均可进行委派管理。 功能包括对在网络标识下运行、通过 PowerShell Direct 连接、安全复制文件到 JEA 终结点或从 JEA 终结点安全复制文件及配置 PowerShell 控制台在 JEA 上下文中默认启动的支持。有关详细信息,请参阅 JEA on GitHub(GitHub 上的 JEA)。
Credential Guard
凭据保护使用基于虚拟化的安全性来隔离密钥,以便只有特权系统软件可以访问它们。 请查看使用 Credential Guard 保护派生的域凭据
远程 Credential Guard
Credential Guard 包括对 RDP 会话的支持,以便用户凭据能够保留在客户端上,且不会在服务器端暴露。 它还提供远程桌面的单一登录体验。 请参阅 Protect Remote Desktop credentials with Remote Credential Guard(使用远程 Credential Guard 保护远程桌面凭据)。
Device Guard(代码完整性)
Device Guard 通过创建指定哪些代码可以在服务器上运行的策略提供内核模式代码完整性 (KMCI) 和用户模式代码完整性 (UMCI)。 请参阅 Device Guard 简介:基于虚拟化的安全性和代码完整性策略
Windows Defender
Windows Server 2016 的 Windows Defender 概述。 默认情况下,Windows Server Antimalware 已在 Windows Server 2016 中安装并处于启用状态,但是 Windows Server Antimalware 的用户界面尚未安装。 但是,Windows Server Antimalware 会在没有用户界面的情况下更新反恶意软件定义并保护计算机。 如果需要 Windows Server Antimalware 的用户界面,则可以使用“添加角色和功能向导”在操作系统安装之后安装它。
控制流防护
控制流防护 (CFG) 是一种平台安全功能,旨在防止内存损坏漏洞。 有关详细信息,请参阅 Control Flow Guard(控制流防护)。
 
六、存储
Windows Server 2016 中的存储包括软件定义存储以及传统文件服务器的新功能和增强功能。 下面是几个新功能,有关更多增强功能和详细信息,请参阅 Windows Server 2016 中的存储的新增功能
存储空间直通
存储空间直通允许通过使用具有本地存储的服务器构建高可用性和可缩放存储。 该功能简化了软件定义的存储系统的部署和管理并且允许使用 SATA SSD 和 NVMe 磁盘设备等新型磁盘设备,而之前群集存储空间无法使用共享磁盘。
有关详细信息,请参阅存储空间直通
存储副本
存储副本可在各个服务器或群集之间实现存储不可知的块级同步复制,以便在站点间进行灾难恢复及故障转移群集扩展。 同步复制支持物理站点中的镜像数据和在崩溃时保持一致的卷,以确保文件系统级别的数据损失为零。 异步复制允许超出都市范围、可能存在数据损失的站点扩展。
有关详细信息,请参阅存储副本
服务存储质量 (QoS)
现在可以使用存储服务质量 (QoS) 来集中监控端到端存储性能,并使用 Windows Server 2016 中的 Hyper-V 和 CSV 群集创建策略。
有关详参细信息,请阅服务存储质量
 
七、故障转移群集
Windows Server 2016 中包括多个服务器的新功能和增强功能,它们使用故障转移群集功能组合到单个容错群集中。 下面列出了某些新增功能,有关完整的列表,请参阅 Windows Server 2016 中故障转移群集中的新功能
群集操作系统滚动升级
群集操作系统滚动升级允许管理员将群集节点的操作系统从 Windows Server 2012 R2 升级至 Windows Server 2016,且无需中断 Hyper-V 或横向扩展文件服务器工作负荷。 使用此功能可以避免服务级别协议 (SLA) 的停机时间损失。
有关详细信息,请参阅群集操作系统滚动升级
云见证
云见证是 Windows Server 2016 中一种新型的故障转移群集仲裁见证,它将 Microsoft Azure 作为仲裁点。 与其他仲裁见证一样,云见证获取投票,并可以参与仲裁计算。 可以使用“配置群集仲裁向导”将云见证配置为仲裁见证。
有关详细信息,请参阅部署云见证
运行状况服务
运行状况服务将改进存储空间直通群集上的日常监控、操作和群集资源维护体验。
有关详细信息,请参阅运行状况服务
 
八、应用程序开发
Internet 信息服务 (IIS) 10.0
Windows Server 2016 中的 IIS 10.0 Web 服务器提供的新增功能包括:
  • 在网络堆栈中支持 HTTP/2 协议,并与 IIS 10.0 集成,允许 IIS 10.0 网站针对支持的配置为 HTTP/2 请求自动提供服务。 与 HTTP/1.1 相比,这会有大量的增强功能,例如,更有效地重用连接和减少延迟、提高网页的加载速度。
  • 在 Nano Server 中运行和管理 IIS 10.0 的功能。 请参阅 Nano Server 上的 IIS
  • 支持通配符主机头,使管理员能够为域设置 Web 服务器,然后让 Web 服务器为任何子域的请求提供服务。
  • 一个用于管理 IIS 的新 PowerShell 模块 (IISAdministration)。
有关更多详细信息,请参阅 IIS
分布式事务处理协调器 (MSDTC)
Microsoft Windows 10 和 Windows Server 2016 中添加了三个新功能:

试用、下载、了解更多产品信息请点击"咨询在线客服"   

1
未发布 NET图像处理库ImageGear for .NET更新至v23.4,添加增强版的数字签名技术
by Harriet666 keys 分享 1509957540096
文档图像解决方案的领导者Accusoft发布最新版本的图像查看和处理工具包ImageGear for .NET v23.4,新版本专注于PDF文件的数字签名功能。数字签名使用特定的安全协议来确保安全性。该软件可以验证签署方的身份,确认该文件没有变更并签署一份具有法律效应的协议。
 
ImageGear for .NET最新版下载>>>
 
ImageGear .NET v23.4中的新增功能
  • 添加了新的API,支持用批准签名对PDF文档进行数字签名。
  • 支持验证带有认证和批准签名的PDF文档。
ImageGear for .NET是一款图形图像处理控件,具有扫描,压缩,浏览、添加注释,打印,图像编辑,OCR以及PDF和矢量图像支持,使开发人员可以快速地开发出图像处理程序,可用于.NET Framework2.0、3.0、3.5、4.0,ASP.NET,WPF,SilverLight,DirectX 10和Direct3D 10。支持超过100种图片格式,包含:TIFF, JPEG, CAD, Vector, 3D PDF, PDF/A, PS等。

2017慧都十四周年狂欢搞事情!砸金蛋100%抽现金红包、满额豪送iPhone X、iPhone 8、DevExpress汉化免费送、团队升级培训套包劲省10万元......更多惊喜等您来探索!

未发布 【教程】Edraw Max(亿图图示):思维导图怎样一次性键入分支内容?
by Harriet666 keys 分享 1502356139814
Edraw Max(亿图图示)作为一款功能齐全,使用方便、快捷的全类型图形图表设计软件,不仅富含丰富的模板和例子,还可以一键轻松导入思维导图的分支内容。本文就教大家具体的操作方法吧!
 
目前Edraw Max(亿图图示)在线订购享75折优惠活动正在进行中,欢迎您下载、购买进行运用!

Edraw Max(亿图图示)v8.7最新版下载地址>>>
 
第一步:选中需要添加分支的主题形状,然后点击“思维导图”菜单栏下的“添加多个主题”;
 
第二步:打开之后,依次输入需要添加的分支内容,按回车键(enter)换行,每一行代表一个主题;
 
第三步:重复以上两步,可以在第二级分支上再一次导入第三级分支;
 
第四步:数据导入之后,可以跟通过“思维导图”下的“布局”对整个思维导图的主题、样式进行调整,同时还可以将数据直接导出为Word、Excel以及文本格式。
未发布 集成的HTTP嗅探器HttpWatch v11发布,支持Google Chrome丨附下载
by Harriet666 keys 分享 1498636020177
HttpWatch是一款集成的HTTP嗅探器,为IE和Firefox提供新的方法以查看您网站的负载和运行情况。你可以直接在浏览器中调试由web页面生成的网络流量,而无需切换到一个单独的工具。

【HttpWatch v11点击免费下载>>>】

HttpWatch v11新功能
HttpWatch支持Google Chrome
现在可以在Chrome中打开一个HttpWatch窗口,通过点击HttpWatch图标来记录网络流量:
f84dc138d653487595fcf2a7740cd625ojpg
或使用任何网页中的上下文菜单:
d9f6c482a3b44bd6a7cf26b5aa34540fojpg
HAR文件现在包含(缓存)和错误
HAR文件规格不允许记录缓存或失败的请求。HttpWatch现在使用与其他工具相同的扩展属性来规避此限制:
73e87a2bce724f7e85574716191fc4a1ojpg

未发布 TWAIN扫描识别工具Dynamic Web TWAIN的常见问题FAQ合集
by Harriet666 keys 分享 1510027018492
Dynamic Web TWAIN是一个专为Web应用程序设计的TWAIN扫描识别控件,本文给大家分享几个有关Dynamic Web TWAIN的常见问题,欢迎收藏!
 
慧都十四周年狂欢开启,Dynamic Web TWAIN终极让利7折特惠
限时一个月,马上咨询>>>
 
1.什么是TWAIN?
TWAIN是一种协议和应用程序编程接口(API),用于标准化应用程序和图像采集设备(如扫描仪和数码相机)之间的通信
。该标准允许开发人员对任何支持TWAIN的图像采集设备进行标准调用。因此,应用程序无需重写也能支持每个设备。
2.什么是Dynamic Web TWAIN?
Dynamic Web TWAIN是专为Web应用程序设计的TWAIN扫描SDK。您可以从任何TWAIN兼容设备中获取图像。
Dynamic Web TWAIN非常实用,它包含精心设计的界面和内置向导模式。只需几行代码便可完成作业。同时,Dynamic Web TWAIN功能非常强大。它与TWAIN规范V2.1兼容,具有内置的JPEG编码器和解码器。同时支持所有三种图像传输模式和许多其他功能。
Dynamic Web TWAIN包含许多专为Web环境设计的功能,例如通过FTP或HTTP协议上传和下载图像。
3.我应该使用Dynamic Web TWAIN的哪个版本?
Dynamic Web TWAIN有几个版本:ActiveX、HTML5 for Windows、HTML5 for Mac和HTML5 for Linux。您可以根据使用的浏览器决定使用哪个版本。
ActiveX:在Windows上默认支持IE 6-9,可以支持IE 10、11;
HTML5 for Windows:在Windows上支持Firefox/Chrome 27+、IE 10/11和Edge;
HTML5 for Mac:支持Mac OS上的Chrome/Firefox 27+、Safari 7+。
HTML5 for Linux:支持Ubuntu 10+、Debian 8和Fedora 19+上的Chrome/Firefox 27+。

4.使用Dynamic Web TWAIN是否需要安装twain驱动程序?
是的Dynamic Web TWAIN与设备(扫描仪/照相机/采集卡等)的TWAIN驱动程序进行通信,以控制其获取和传输图像,因此需要安装twain驱动程序。

5.我能用Dynamic Web TWAIN做什么?
Dynamic Web TWAIN可用于控制扫描仪、数码相机以及支持TWAIN标准的任何其他设备的任何工作。Dynamic Web TWAIN可以通过FTP或HTTP协议上传和下载图像。代理同样支持。

6.Dynamic Web TWAIN与其它为web环境设计的TWAIN SDK相比有什么优势?
Dynamic Web TWAIN的是一个真正的网络扫描解决方案。
它与Internet Explorer、Chrome、Firefox和其他浏览器兼容。
它非常灵活并且占用小。无需DLL分发。
它可以通过HTTP和FTP上传和下载图像。
它支持TIFF、JPEG、PDF和PNG压缩。

7.我在哪里可以获得使用Dynamic Web TWAIN的测试应用程序?
您可以从我们的样本库中获得Dynamic Web TWAIN的样本。在安装Dynamic Web TWAIN试用版之后,您还可以找到一些带有源代码的基本示例。

8.使用SDK时遇到问题我该怎么办?
你可以参考我们的知识库系统在线文档。如果还是找不到答案,请发送电子邮件至support@dynamsoft.com。

9.虚拟开发者服务与标准客户支持之间的主要区别是什么?
借助虚拟开发者服务,我们与您密切沟通,分析您的需求,提出技术解决方案,编写代码,帮助您将代码集成到项目中,进
行测试和维护。
通过标准客户支持,您需要一位开发TWAIN模块的开发人员,然后向我们的技术支持团队提问。使用虚拟开发者服务,您不需要开发人员在TWAIN模块上工作,我们的开发人员作为团队成员参与您的项目。

2017慧都十四周年狂欢搞事情!砸金蛋100%抽现金红包、满额豪送iPhone X、iPhone 8、DevExpress汉化免费送、团队升级培训套包劲省10万元......更多惊喜等您来探索!

未发布 Oracle正式发布Java 9,引入新的Java编程组件
by Harriet666 keys 分享 1506566182619
Java SE 9.0于2017年9月21日发布。JDK 9的核心变化就是引入了一种新的Java编程组件,也就是模块,按照Oracle的说法,它是一个可命名的、自描述的代码和数据集合。模块技术的核心目标是减少Java应用和Java核心运行时环境的大小与复杂性。为此,JDK本身进行了模块化,Oracle希望通过这种方式提升性能、安全性和可维护性。

为了支持Java 9的模块,引入一种新的模块化JAR文件形式,按照这种形式会在其根目录中包含一个module-info.class文件。Oracle同时提供了工具,允许我们组合和优化一组模块,形成自定义的运行时镜像(image),这样的镜像不必将整个Java运行时包含进来。模块化所带来的其他变化包括从Java运行时镜像中移除了rt.jar和tools.jar。
Java社区进程(JCP)执行委员会的成员Ben Evans认为最急需重构的应用恰好就是最适合进行模块化的应用。如果你已经备受Lava Flow/God Class/Stovepipe System地狱的折磨,而且你的利益相关方明确知道这一点,那么你可能更容易说服他们进行一次完整的底层重构,通过渐进式的努力形成一个完成的模块解决方案(而不是简单重构并迁移至Java 8)是值得去做的。

Oracle宣布Java 8会是一个长期支持的发布版本,会一直支持到2022年,因此Evans认为很多的应用将会停留在Java 8上,根本不会升级到Java 9。Evans补充说,有些应用可能会让开发和构建工具链使用Java 8版本,而在生产环境使用Java 9的运行时。
对特定类型的应用来说,这是很有帮助的。例如,我曾经见到有的电子商务网站具有非常大的堆空间,其中包含了大约40G的字符串数据。Java 9的ompact Strings技术能够将这种类型的内存使用减半。这反过来又会对GC的性能带来积极的影响。对于有些应用来说(这可能就包括大型的Solr安装环境及类似场景),单单这一项收益就值得将运行时升级到Java 9。

Java 9使用G1作为默认的垃圾收集器,替代了之前默认使用的Parallel GC。Evans对这项变化的评论:
这项变更是很重要的,因为相对于Parallel来说,G1会在应用线程上做更多的事情,而Parallel几乎没有在应用线程上做任何事情,它基本上完全依赖GC线程完成所有的内存管理。这意味着切换到G1将会为应用线程带来额外的工作,从而直接影响到应用的性能。


在很多(甚至可以说大多数)场景中,这种额外的性能损耗都不是什么问题。但是,在这方面,我确实也曾经见过从Parallel切换到G1时,有一定比例的工作负载会引起性能的下降。对于这些应用来说,这种性能下降是无法接受的,所以他们无法切换至G1收集器。随着G1成为默认的收集器,这将会影响到升级至Java 9的每个应用。

JClarity的CEO Martijn Verburg认为大型的代码库需要重构为模块的形式。Verburg给出了一些通用的模块化建议,并且指出了开发人员在采用Java 9模块系统时,需要注意的一些事情:
  • 阅读Paul和Sander的图书“Java 9 modularity”:它是本权威指南,提到了所有需要注意的地方,阐述了模块、包以及JAR之间如何运行的关联关系; 
  • 在模块边界的地方,使用定义良好的接口并且针对这些接口编程; 
  • 不要拆分包(split package),也就是说一个包不要分散到两个模块中。Adopt OpenJDK有个探测工具,我们可以用它来探测已有的代码; 
  • 确保不要存在循环依赖(Jigsaw不允许这样); 
  • 模块在源码的布局上与我们已习惯的方式有所不同,需要确保构建工具能够进行对应的处理; 
  • Jigsaw不支持多版本。
 
按照Verburg的说法,核心要点在于处理循环依赖、拆分包的问题,并确保针对接口进行编码。在尝试使用Jigsaw模块化重构之前,针对已有的代码库,这些工作需要预先完成。他还澄清了一个误解,那就是只有模块化的应用才能在Java 9上运行。

由于误解,在这方面有一种FUD(恐惧、不确定和怀疑)情绪,有人误认为在Java 9上运行的必须是模块化的应用。事实并非如此,我们可以将已有的基于类路径的应用直接在Java 9上运行。这里会有一些新的安全限制,因此我们需要设置一些特定的运行时标记(除非你重构代码,使用更安全的方式来访问Java的内部资源),即便如此,默认的行为也只是警告,而不是完全阻止我们(Java 10的限制会更严格)。

Verburg认为Jigsaw会是一个基石,会让Java的演进更快,这要归功于Mark Reinhold、Alan Bateman、Mandy Chung以及Jigsaw团队的其他成员多年来不知疲倦的工作,正是他们的努力使这一切得以实现。

Java 9还引入了jshell工具。这个命令行环境为Java平台带来了读入-求值-打印-循环(Read-Eval-Print-Loop,REPL)功能。它的目的在于以即时结果和反馈的形式,简化原型的实现并帮助我们探索语言在编码时的可选项。

Verburg和Evans看到Java 9中包含了jShell都非常兴奋,但令他们失望的是,HTTP/2只是作为Java 9的一个孵化模块(incubator module)提供的。鉴于社区对这项特性的兴趣和提供的帮助,Evans认为Oracle应该投入足够的工程资源,将HTTP/2交付为GA版本。

JDK 9完整的变更列表可以在Oracle的站点上查阅。Oracle宣布会按照每六个月一次的节奏进行发布,意味着Java 9是最后一次“keystone”特性驱动的版本发布,这反映出了Oracle目前管理Java的特点。Java下一阶段的演化将会按照更短的发布周期并且会按照更加面向特性的方式来发布。Java是否依然能够在服务端技术中占据领导者地位尚有待观察。
更多资讯点击查看>>>



未发布 【FAQ合集】TWAIN扫描识别工具Dynamic Web TWAIN的编程代码问题
by Harriet666 keys 分享 1510217364852
Dynamic Web TWAIN中文介绍免费下载资源教程示例DEMO
Dynamsoft

1.如何获取黑白图像?

DWObject.OpenSource();
DWObject.IfShowUI = false;
DWObject.IfDisableSourceAfterAcquire = true;
DWObject.PixelType = EnumDWT_PixelType.TWPT_BW; //Black - White 
image : EnumDWT_PixelType.TWPT_BW, GRAY image: 
EnumDWT_PixelType.TWPT_GRAY, RGB 
image: EnumDWT_PixelType.TWPT_RGB
DWObject.AcquireImage();

2.如何在没有用户界面的情况下运行?

function BeginScan(){
    DWObject.OpenSource();
    DWObject.IfShowUI = false; //set without user interface
    DWObject.IfDisableSourceAfterAcquire = true;

    DWObject.AcquireImage();
}

function DWObject_OnPostTransfer(){
    DWObject.SaveAsBMP("C:\\temp.bmp",0);
}

3.如何只扫描纸张的某一部分?

DWObject.SelectSource();
DWObject.OpenSource();
DWObject.IfShowUI = false;
//Set Image Layout
DWObject.Unit = EnumDWT_UnitType.TWUN_INCHES;
DWObject.SetImageLayout(0, 0, 5, 5);
DWObject.AcquireImage(); 

4.如何在不显示设备选择对话框的情况下选择设备?

DWObject.OpenSourceManager();

for(i = 0, i<=DWObject.SourceCount - 1,i++){
    if (DWObject.GetSourceNameItems(i) == "Specified device name")
        DWObject.SelectSourceByIndex (i);
}

//if can't find the specified source, it'll select default source
DWObject.AcquireImage(); 

5.如何在不使用UI获取图像时禁用进度指示器对话框?

DWObject.IfShowUI = false;
DWObject.IfDisableSourceAfterAcquire = true;
DWObject.OpenSource();
DWObject.IfShowIndicator = false;
DWObject.AcquireImage();

6.如何分别设置水平和垂直分辨率?

DWObject.SelectSource();
DWObject.OpenSource();

//Set XRESOLUTION current value.
DWObject.Capability = 0x1118; //ICAP_XRESOLUTION
DWObject.CapType = 5; //TWON_ONEVALUE
DWObject.CapValue = 300;
if (DWObject.CapSet == false){
    alert( "Failed to set the x-resolution. " + DWObject.ErrorString);
}

//Set YRESOLUTION current value.
DWObject.Capability = 0x1119; //ICAP_YRESOLUTION
DWObject.CapType = 5; //TWON_ONEVALUE
DWObject.CapValue = 200;
if (DWObject.CapSet == false){
   alert( "Failed to set the y-resolution." + DWObject.ErrorString);
}

DWObject.AcquireImage();

7.如何上传到Web服务器?

DWObject = document.getElementById("dwtcontrolContainer");
//dwtcontrolContainer is the id of the Dynamic Web TWAIN on the page (An object or an embed).
function btnScan_onclick() 
{
DWObject.SelectSource();
DWObject.OpenSource();
DWObject.AcquireImage();
}
function btnUpload_onclick() 
{
var strActionPage;
var strHostIP;
var CurrentPathName = unescape(location.pathname); // get current PathName in 
plain ASCII 
var CurrentPath = CurrentPathName.substring(0, CurrentPathName.lastIndexOf("/") 
+ 1); 
strActionPage = CurrentPath + "SaveToFile.aspx"; //the ActionPage's file path
strHostIP = "localhost"; //The host's IP or name 
DWObject.HTTPPort = 80; 
DWObject.HTTPUploadThroughPost(strHostIP,0,strActionPage,"imageData.tif");
if (DWObject.ErrorCode != 0)
alert(DWObject.ErrorString);
else //succeed
alert("Image Uploaded successfully");
}

8.如何使用ADF?希望将每个文档保存在一个单独的文件中。

var iDocumentCounter =0;

function BeginScan(){
    DWObject.OpenSource();

    DWObject.IfShowUI = false;
    DWObject.IfDisableSourceAfterAcquire = true;
    if(DWObject.Duplex != TWDX_NONE)
        DWObject.IfDuplexEnabled = true; //enable duplex

DWObject.IfFeederEnabled = true;
    if (DWObject.IfFeederEnabled == true){
         DWObject.XferCount = -1;

         if(DWObject.IfFeederLoaded == True)
             DWObject.AcquireImage();
    }
}

function DWObject_OnPosttransfer(){
iDocumentCounter = iDocumentCounter + 1;

if(DWObject.SaveAsBMP("C:\\Image\\" + iDocumentCounter + ".bmp", 0) == false)
    alert( DWObject.ErrorString);
}

9.我如何使用SSL?

您可以使用IfSSL属性。下面的JavaScript示例将显示如何使用IfSSL属性。
function btnUpload_onclick() 
{
   DWObject.HTTPPort = 80; 
   DWObject.IfSSL = false; // if 80 is the port number of 
non-secure port

   /* 
   DWObject.HTTPPort = 443; 
   DWObject.IfSSL = true; // if 443 is the port number of secure 
port
   */

   DWObject.HTTPUploadThroughPost("127.0.0.1", 0, 
"/SaveToFile.php", "imageData.jpg");

   if (DWObject.ErrorCode != 0)
      alert(DWObject.ErrorString);
   else //succeed
     alert("Successful");
}

10.如何将新扫描的图像添加到现有的多页TIFF文件中?

function Scan_Click(){
   DWObject.AcquireImage();
}
function DWObject_OnPostTransfer(){
   DWObject.CloseSource();
   DWObject.IfTiffMultiPage = true;
   DWObject.SaveAsTIFF("SaveAsTIFF.tif", 0);
   if (DWObject.ErrorCode != 0)
      alert (DWObject.ErrorString);
   else //succeed
      alert ("Successful");
}

11.如何在保存之前旋转图像?

您可以使用RotateLeft方法和RotateRight方法。

12.如果缓冲区中有多个图像,如何查看指定的图像?

您可以通过更新API CurrentImageIndexInBuffer的值来查看指定的图像或浏览缓冲区中的所有图像。
function NextImage_Click(){
   if (DWObject.HowManyImagesInBuffer == 0) 
   
      alert ("There is no image in buffer");

   DWObject.CurrentImageIndexInBuffer += 1;
}

13.如何进行双面扫描?
function DuplexScan_Click(){
   DWObject.SelectSource();
   DWObject.OpenSource();
   DWObject.IfShowUI = false;
   DWObject.IfDuplexEnabled = true; //enable duplex
   DWObject.AcquireImage();
} 

14.如何以反转颜色扫描图像?

您可以使用PixelFlavor属性。

2017慧都十四周年狂欢搞事情!砸金蛋100%抽现金红包、满额豪送iPhone X、iPhone 8、DevExpress汉化免费送、团队升级培训套包劲省10万元......更多惊喜等您来探索!

未发布 微软C# 8.0中的四个特性
by Harriet666 keys 分享 1504687137082

可空的引用类型(Nullable Reference Types)

可空的引用类型可概括地表述为,引用类型将不再默认可空。因此,开发人员必须使用定义可空值类型的同样语法“Type?”,显式地标记一个引用类型为可空。

如果将一个空值赋值给一个非可空的引用类型,那么将会给出一个编译器警告。与之相类似,从可空类型中读取也会给出编译器警告,除非显式地提前检查了被质疑的变量是否为空值。因此从理论上讲,开发人员需要做的唯一更改就是在代码的适当位置标上问号。

该特性新加了一个语法。该语法针对开发人员明知一个可空变量x并非实际为空值却无法证明给编译器的情况。在上述情况下,开发人员现在可以定义x!.Method(),消除编译器对于潜在空值引用异常的警告。
 

异步流(Async Streams),即foreach async

异步流是IEumerable的异步等价类。C#团队自2015以来就一直在努力实现异步流。在经历了很多争议后,其语法被定为:
foreach await (string s in asyncStream)
开发人员将使用如下的函数签名定义一个异步迭代器:
async IAsyncEnumerable MethodName()
就像使用一个正常的IEnumerable方法一样,开发人员可以使用“yield return”以懒方式(Lazy)构建对象流。

相比于源自响应式扩展(Reactive Extensions)的IObservable,使用这一方法的优点在于让消费者控制流速,这被称为“Pull模式”。与之相对,IObservable是一种“Push模式”,这意味着生产者可以使用高于消费者所能处理的流速让流涌向消费者。
 

缺省接口实现(Default Interface Implementations)

缺省接口实现在本质上是一种有限形式的多重继承。它允许抽象接口像抽象类一样,对方法进行完全的定义,只是抽象接口依然不能定义构造函数和字段。

需注意,开发人员可以通过使用ConditionalWeakTable在接口上模拟字段。

默认接口实现的主要好处是,开发人员可以在不破坏向后兼容的条件下,将一个新方法添加到一个已有的接口中。但是这并非是有保证的,因为默认接口只是在可以设计出适合的默认方法时才能工作。
 

扩展(Extension)

开发人员可以编写扩展方法,但是不能扩展属性,这是长期以来对C#一直存在的一个问题。事实上,如果使用当前的模式,甚至是不能定义一个扩展属性或事件的。此外,在很多开发人员看来,在静态类中放置扩展方法是“很诡异的”。

新的设计中新给出了一种称为“扩展”(Extension)的顶层语言构件。例如,如果开发人员想要为自定义的Customer类创建一个扩展方法和属性,可编写如下代码:
extension CustomerExt extends Customer {
    //定义方法和属性的代码。
}
就接口而言,是不能在扩展中定义实例字段的,但是可以使用ConditionalWeakTable实现模拟。定义静态字段也是允许的。

除了对属性、事件和操作符重载的扩展,C#团队甚至考虑允许扩展构造函数。扩展构造函数非常适用于工厂模式(Factory)和对象池场景。

扩展接口(Extension Interfaces)C#团队还考虑了扩展接口,即在已有类中添加新接口的能力。但是扩展接口将不会成为C# 8中的特性,因为它需要更改底层的运行时。
未发布 【推荐】2017年你应该了解的11款新型编程工具
by Harriet666 keys 分享 1503912408799
对于开发人员来说,工具是至关重要的。工具可以使开发人员的日常工作更加轻松、高效,因为只要关注最重要的事情即可。想要寻找到更好的替代工具往往比坚持使用熟悉的、过时的工具要困难得多。在这篇文章中,我们将列出你可以在日常工作中使用的一些新的编程工具。对在线流媒体感兴趣的许多开发人员也已经开始在其开发环境中使用这些新工具,因为这些工具与其陈旧的设施相比具有明显的优势。
 
你可能会想,如果旧的工具可以完成工作,那么是否还有必要去寻找新的替代工具呢?可以肯定的说,技术始终在变革,它正在不断地塑造、改变我们的工作方式,所以,它有必要保持更新。此外,新开发工具可以通过自动化在某些方面为你的工作增添更多价值,从而更好地帮助你控制你的工作流程。所以,如果你现在确信并准备好考虑使用市场上一些新的编程工具,请继续阅读本文,以找出其中最好的、最适合你的工具。
 

1. LiveEdu


LiveEdu 是开发人员和工程师经常光顾的好地方。它是一个基于项目的学习平台,服务于游戏开发、设计、数据科学、编程、增强现实、人工智能以及虚拟现实等方面的技能提升。学习的关键在于项目的真实性,而且 LiveEdu平台还提供了蕴含许多不同主题的项目教程,可以适用于任何人,包括初学者。
 

2.Standup


Standup 对于监控团队开发进度而言是一款非常好的工具。它可以很好地集成所有你已经在用的流行工具(例如Trello、BitBucket、GitHub等)。那么接下来,它是如何工作的呢?首先,它会根据开发团队成员的提交历史完全自动地生成工作报告。这有助于团队成员之间轻松地实现信息共享,也让团队成员之间形成了积极的竞争关系。这一想法是由Mesh Studio提出的,当时他们正在完成一个客户的严格的汇报需求的合同工作。
 

3. Cell 

Cell 自称是“自驱动的网页应用开发框架”。“框架”这一关键词应该会立刻让你想到,它应该包含APIs、方法、或其他框架应该具备的功能。但是,Cell却提供了一种全新的方式来查看如何编写HTML 代码。它适用于3个简单的规则,而且不运行任何函数就能够自主构建DOM。此外,Cell还提供了一种类似写小说的方式(a novel approach)来开发网页应用。
 

4. Osquery

Osquery 是 Facebook 通过 Query 语言揭示操作系统的方法。虽然乍看起来并不是很有趣,但它其实具有很多实际的用途。例如,它可以用于获取通过USB连接的硬件设备的列表。
 
对于那些想要保护自己的应用程序免受安全漏洞影响,或是能够更好地监视其应用程序在不同系统上的性能的Web开发人员来说,其中一个相对比较有效的方法就是不使用底层函数或API交互的能力。

 

5. React Native Firebase

React Native Firebase 可以帮助开发人员更加轻松地使用 React Native 和Firebase。利用RN Firebase,你可以 在Android和iOS系统上使用 JavaScript bridge轻松访问本地 eFirebase SDK。
 

6. Warp

Warp 是一款非常简单的工具。它可以让任何人分享他们的终端。共享终端就像输入一个 warp open 命令一样简单。这可以帮助开发人员或主机供应商轻松地分享彼此的终端。这款工具的关键特征在其“安全性”和“易于传输”。让分享变得前所未有地容易!你很快就会忘记SSH 的必要性,并使用该功能与远程团队和新成员进行互动。
 

7. Draft

Draft 是一款新工具,可以帮助开发人员轻松地在 Kubernet上构建应用程序。截至目前为止,在把应用移动到版本库之前,对应用程序进行测试仍然是一项耗时且艰巨的工作。但是,利用 Draft,开发人员就可以针对“内部循环”并在Kubernetes开发沙箱中对应用程序进行测试。沙箱可以通过公共URL轻松获得,并可以使用本地编辑器进行修改。
 

8. Docsify 

Docsify 是一个文档站点生成器工具。但是,它与其他的静态HTML文件生成器却是完全不同的。利用Docsify,你可以使用 Markdown 文件生成你的站点。这样一来,你就可以修改Markdown中的代码,并及时看到更新。这种差异性使它与其他流行工具(例如GitBook等)相比也能占据明显的竞争优势。


9. Prismic IO 

Prismic IO 是一个无头CMS系统的后台应用。多亏了API,让它可以与任何站点和应用程序一起使用,并可以轻松地与现有系统进行集成。此外,CMS 还为营销人员提供了一些现代化的发布和创作工具。


10. Javalin

Javalin 为Kotlin和Java提供了简单的REST API。该REST API非常易于使用,且API也是非常流畅的。它不是一个框架,因此不应该被混淆。其目的主要是提供一个非常简单易用的轻量级 REST API库。
 
以下是用Kotlin实现的 “Hello World”API的示例:
import io.javalin.Javalin
funmain(args: Array) {
    val app = Javalin.create().port(7000)
    app.get("/") { ctx -> ctx.result("Hello World") }
}


11. Bootsnap

我们都知道,速度对于一些应用程序而言有多重要。Ruby的性能可谓是臭名昭著。然而,Bootsnap尝试通过缓存很多Ruby方法并提高其整体性能来加快其速度。Bootsnap可以以gem的形式轻松地插入你的应用程序中,它目前可用于 MacOS 和 Linux 系统。

 近期热门 - 点击最多
  1. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  2. Node.js 打印vite react+go项目目录树
  3. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  4. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  5. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  6. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  7. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  8. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别
  9. React Native使用fetch发送http登陆验证请求失败:无法读取set-cookie并显示network request failed
  10. 克服Redux的缺点在React/Native中使用消息队列,pubsub-js更加简洁的组件间通信和状态传递方法

  全端社区 - 最新回复
  1. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  2. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  3. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  4. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  5. Node.js 打印vite react+go项目目录树
  6. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  7. Windows与Mac通过git ssh和rsync实现文件共享互传
  8. Windows与Mac通过git ssh和scp实现文件共享互传
  9. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  10. 使用PubSub-JS时ReactNative在后台运行一段时间唤醒后,组件无法scribe到publish的事件,typescript实现一个事件订阅发布组件

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA