我编写了Bresenham的圆绘制算法的实现.这种算法利用了圆的高度对称性(它只计算第一个八分圆的点,并利用对称性绘制其他点).因此我期待它非常快.图形编程黑皮书,第35章标题为" Bresenham快速,快速好 ",虽然它是关于线条绘制算法,但我可以合理地期望圆形绘制算法也很快(因为原理是相同).
这是我的java,swing实现
public static void drawBresenhamsCircle(int r, double width, double height, Graphics g) {
int x,y,d;
y = r;
x = 0;
drawPoint(x, y, width, height,g);
d = (3-2*(int)r);
while (x <= y) {
if (d <= 0) {
d = d + (4*x + 6);
} else {
d = d + 4*(x-y) + 10;
y--;
}
x++;
drawPoint(x, y, width, height,g);
drawPoint(-x, y, width, height,g);
drawPoint(x, -y, width, height,g);
drawPoint(-x, -y, width, height,g);
drawPoint(y, …Run Code Online (Sandbox Code Playgroud) 我对这两个类加载器非常困惑.在谈论Java类加载器的层次结构时,通常会提到引导类加载器和ext类加载器以及第三个(系统类加载器或应用程序类加载器).
为了更准确,我检查了JDK的源代码.在课堂上Launcher,有代码:
loader = AppClassLoader.getAppClassLoader(extcl);
Run Code Online (Sandbox Code Playgroud)
在课堂上ClassLoader,方法:
getSystemClassloader()
Run Code Online (Sandbox Code Playgroud)
还说系统类加载器用于启动应用程序.
那么哪个是层次结构中的第三个,还是两个类加载器相同?
我在SQL Server 2012中遇到了经典的参数嗅探问题.基于一些研究,我发现了围绕这个问题的多种选择.我需要了解的区别这两个选项是OPTION(OPTIMIZE FOR UNKNOWN)VS OPTION(RECOMPILE).
我犹豫是否OPTION(RECOMPILE)在我的查询结束时使用这个问题,因为它会强制服务器每次都生成一个新的执行计划.如果我经常调用此查询,这将会占用该计算机的CPU.
因此,我使用他最好的解决方案,这两个选项之间的真正区别是什么?
是否会OPTION(OPTIMIZE FOR UNKNOWN)重复使用缓存而不是每次重新编译?
我正在尝试使用带有.NET Core的SQL Server 2016的Always Encrypted功能,并且似乎无法使用(还).试图Microsoft.SqlServer.Management.AlwaysEncrypted.AzureKeyVaultProvider从Nuget 导入,我得到一个错误,说明它不兼容:
包Microsoft.SqlServer.Management.AlwaysEncrypted.AzureKeyVaultProvider 1.0.201501028与netstandard1.6不兼容(.NETStandard,Version = v1.6)
有关如何/在何处获得兼容版本的任何想法?
我有一个与T-SQL和SQL Server有关的问题.
假设我有一个包含2列的表订单:
我想要每个产品的第一个订单的日期,所以我执行这种类型的查询:
SELECT ProductId, MIN(Date) AS FirstOrder
FROM Orders
GROUP BY ProductId
Run Code Online (Sandbox Code Playgroud)
我有一个索引ProductId,包括列CustomerId和Date加速查询(IX_Orders).查询计划看起来像是非聚集索引扫描IX_Orders,后面是流聚合(由于索引没有排序).
现在我的问题是我还要检索CustomerId与每个产品的第一个订单相关联的产品(产品26在25日星期二首次订购,由客户12订购).棘手的部分是我不希望在执行计划中有任何内部循环,因为这意味着ProductId表中的每个额外读取,这是非常低效的.
这应该可以使用相同的非聚集索引扫描,然后是流聚合,但是我似乎无法找到可以执行此操作的查询.任何的想法?
谢谢
Document document = new Document(reader.getPageSizeWithRotation(1));
PdfCopy writer = new PdfCopy(document, new FileOutputStream(outFile));
document.open();
PdfImportedPage page = writer.getImportedPage(reader, ++i);
writer.setFullCompression();
writer.addPage(page);
document.close();
writer.close();
Run Code Online (Sandbox Code Playgroud)
我正在使用iText来拆分和合并PDF,我需要你的帮助以编程方式减少(压缩)输出PDF大小.请让我知道实现相同目标的步骤.
我有一个FixMessage,我想手动计算CheckSum.
8=FIX.4.2|9=49|35=5|34=1|49=ARCA|52=20150916-04:14:05.306|56=TW|10=157|
Run Code Online (Sandbox Code Playgroud)
这里的体长计算如下:
8=FIX.4.2|9=49|35=5|34=1|49=ARCA|52=20150916-04:14:05.306|56=TW|10=157|
0 + 0 + 5 + 5 + 8 + 26 + 5 + 0 = 49(correct)
Run Code Online (Sandbox Code Playgroud)
checkSum是157(10 = 157).在这种情况下如何计算?
我下载了SonarQube 5.3,配置了sonar.properties文件,下载了MSSQL的JDBC驱动程序(我使用的是SQL Server 2012和SQL JDBC 4.2),在我的SQL Server 2012实例中创建了一个带有数据库的所有授权的用户sonar.
然后我执行startSonar.bat,这会引发以下错误:
2016.01.22 13:57:57 INFO web[o.s.s.p.ServerImpl] SonarQube Server / 5.3 / 8db783e62b266eeb0d0b10dc050a7ca50e96c5d1
2016.01.22 13:57:57 INFO web[o.sonar.db.Database] Create JDBC data source for jdbc:sqlserver://localhost;databaseName=sonar
2016.01.22 13:57:59 ERROR web[o.a.c.c.C.[.[.[/]] Exception sending context initialized event to listener instance of class org.sonar.server.platform.PlatformServletContextListener
org.sonar.api.utils.MessageException: Current version is too old. Please upgrade to Long Term Support version firstly.
2016.01.22 13:57:59 INFO web[jruby.rack] jruby 1.7.9 (ruby-1.8.7p370) 2013-12-06 87b108a on Java HotSpot(TM) 64-Bit Server VM 1.8.0_66-b18 …Run Code Online (Sandbox Code Playgroud) 我的devkit是一个Amica V3,其中有两个,似乎都有同样的问题.
我试图让设备出现,然后才能安装NodeMCU固件.
我在不同的计算机和不同的操作系统(Windows 7/10 + OS X 10.11.4)上做了这个,每次都确保我首先安装了SiLabs CP210X驱动程序.在任何地方都没有devkit的迹象......当我拔下它并将其插回WiFi天线附近的LED时闪烁然后什么都没有.我按了RST几次,短/长,没什么.
我真的希望你告诉我,我是愚蠢的,我应该有RTFM,所以当你第一次闪光时,我不会错过为电路板提供额外的电源......但我怀疑是这种情况.
04:56:21.218 DEBUG:Sensors:JavaSquidSensor - > SurefireSensor - > JaCoCoSensor - > SonarJavaXmlFileSensor - > Analyzer for"php.ini"files - > Zero Coverage Sensor - > CPD Block Indexer 04:56:21.218 INFO:Sensor JavaSquidSensor [java ] 04:56:21.558信息:已配置的Java源代码版本(sonar.java.source):无04:56:21.565 INFO:JavaClasspath初始化04:56:21.570信息:------------- -------------------------------------------------- --------- 04:56:21.571 INFO:EXECUTION FAILURE 04:56:21.571 INFO:------------------------- ----------------------------------------------- 04:56 :21.571 INFO:总时间:6.545s 04:56:21.707 INFO:最终记忆:51M/1083M 04:56:21.707 INFO:--------------------- -------------------------------------------------- - 04:56:21.707错误:SonarQube扫描程序执行期间出错org.sonar.squidbridge.api.AnalysisException:请使用org.sonar.java.JavaClasspath.init(JavaClasspath.)中的sonar.java.binaries属性提供项目的已编译类. java:59)at org.sonar.java.AbstractJavaClasspath.getElements(AbstractJavaClasspath.java:281)在org.sonar.java.SonarComponents.getJavaClasspath(SonarComponents.java:141)在org.sonar.java.JavaSquid.(JavaSquid.java:83)在org.sonar.plugins.java.JavaSquidSensor.execute(JavaSquidSensor.java:83)org.sonar.scanner.sensor.SensorWrapper.analyse(SensorWrapper.java:53)org.sonar.scanner.phases.SensorsExecutor.executeSensor( SensorsExecutor.java:88)位于org.sonar.scanner的org.sonar.scanner.phases.SensorsExecutor.execute(SensorsExecutor.java:82)org.sonar.scanner.phases.SensorsExecutor.execute(SensorsExecutor.java:68) .phases.AbstractPhaseExecutor.execute(AbstractPhaseExecutor.java:78)在org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:179)在org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:144 )org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:129)org.sonar.scanner.scan.ProjectScanContainer.scan(Proj)ectScanContainer.java:261)在org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:256)在org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:245)在org.sonar.core .platform.ComponentContainer.startComponents(ComponentContainer.java:144)在org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:129)在org.sonar.scanner.task.ScanTask.execute(ScanTask.java:47 )在在org.sonar.core.platform.ComponentContainer org.sonar.scanner.task.TaskContainer.doAfterStart(TaskContainer.java:84)在org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:144).在org.sonarsource的org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:116)的org.sonar.scanner.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:119)执行(ComponentContainer.java:129) sun.reflect.NativeMethodAccessorImpl.invok中的.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:63)E0(本机方法)在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)在java.lang.reflect.Method.invoke(Method.java: 498)org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)at com.sun.proxy.$ Proxy0.execute(Unknown Source)at org.sonarsource.scanner.api.EmbeddedScanner.doExecute (EmbeddedScanner.java:233)位于org.sonarsource的org.sonarsource.scanner.api.EmbeddedScanner.runAnalysis(EmbeddedScanner.java:151)org.sonarsource.scanner.cli.Main.runAnalysis(Main.java:123). scan.cli.Main.execute(Main.java:77)at org.sonarsource.scanner.cli.Main.main(Main.java:61)04:56:21.710 DEBUG:Execution getVersion 04:56:21.711 DEBUG:Execution停
当我使用6.4运行相同时,它工作正常,我在控制台中看到的唯一警告是:
04:52:42.738警告:未提供依赖关系的字节码来分析源文件,最终可能会得到不太精确的结果.可以使用sonar.java.libraries属性提供字节码
java ×3
sql-server ×3
sonarqube ×2
t-sql ×2
.net-core ×1
algorithm ×1
bresenham ×1
classloader ×1
esp8266 ×1
fix-protocol ×1
graphics ×1
itext ×1
nodemcu ×1
pdf ×1
quickfix ×1
sonarqube5.3 ×1
sql ×1
swing ×1