首 页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 尾 页

Android 性能优化总结

发布者: super | 发布时间:2017-11-15

原标题:Android 性能优化总结

缘由

Android系统每隔16ms发出VSYNC信号,对UI进行渲染,如果每次渲染都成功,就能够达到流畅的画面所需要的60fps,为了能够实现60fps,这意味着程序的大多数操作都必须在16ms内完成,时间超出16ms越多,丢的帧就越多。

假设我们更新屏幕的背景图片,需要24ms来做这次运算。当系统在第一个16ms时刷新界面,然而我们的运算还没有结束,无法绘出图片。当系统隔16ms再发一次VSYNC信息重绘界面时,用户才会看到更新后的图片。也就是说用户是32ms后看到了这次刷新(注意,并不是24ms),这就是丢帧。

大多数多用感知到卡顿等问题最主要的根源是渲染问题,而导致渲染问题的原因是性能问题,为了保证程序正常的使用,性能方面需要着重注意,本篇针对的性能优化是从一些平时常见的细节入手,

性能优化

丢帧只是用户能感知到的表面现象,严重的会引起程序卡顿甚至ANR,深层次的原因是代码中有比较耗时的操作阻塞到了主线程,也就是性能问题。

过度绘制

过度绘制(Overdraw)是指屏幕上

想读更多 ->

程序员相关笑话,你看懂几个?

发布者: super | 发布时间:2017-11-15

原标题:程序员相关笑话,你看懂几个?

程序猿最烦两件事,第一件事是别人要他给自己的代码写文档,第二件呢?是别人的程序没有留下文档。

程序猿的读书历程:x语言入门—>x语言应用实践—>x语言高阶编程—>x语言的科学与艺术—>编程之美—>编程之道—>编程之禅—>颈椎病康复指南。

还没上大学的时候,高三暑假,跑到家那边的图书城想买传说中的C++的书,然后看到一本C#,我一看,嘿,这个++还写得挺艺术的,重叠起来了,于是把C#买了回来……

问:程序猿最讨厌康熙的哪个儿子?答:胤禩,因为他是八阿哥(bug)。

有一天,程序猿们突然发现他们要涨的工资掉到井里啦!大家都很害怕,连忙一个吊着一个,从树上伸到井里去捞工资

想读更多 ->

java程序员“充电”必备书籍,赶紧收了吧!

发布者: super | 发布时间:2017-11-15

原标题:java程序员“充电”必备书籍,赶紧收了吧!

很多人都说java这门编程语言老了,但是根据这几个月的编程语言排行榜来看,java编程语言还是位居榜首的,用实力证明了java是时下最流行的编程语言之一了。作为java程序

员来说,日常“充电”是必不可少的,所以今天小编在这里整理了java程序员“充电”必看书籍,赶紧收了吧!

一、《The Pragmatic Programmer: From Journeyman to Master》(程序员的修炼:从中级到大师)

这本书是面向所有程序员的,它保持了编程过程的新鲜度,我们可以在中不断的汲取力量,成长。

二、《The Java language specification》(Java编程规范)

有可能看过的人会觉得这本书并没有什么学习技能的地方,不过小编在这里要

想读更多 ->

Java学习系列之不要学习代码,要学会思考

发布者: super | 发布时间:2017-11-15

原标题:Java学习系列之不要学习代码,要学会思考

这是一个人人都在学习编程的时代:Code.org请了比尔·盖茨,马克·扎克伯格和克里斯·波什等这些名人,来告诉你,每个人都可以编程;CoderDojo’s在各个国家悄然兴起;在英国,编程已经是各个年级学生的正式课程。

我认为这里有个误区。别误会我——如果每个人都会一些编程知识,这个世界当然会变得更好——但是学会写代码不应该是我们的目标。计算机和程序只是一个工具,是一种达到某种目的的方法。

真正的目标应该是学会思考的方式。换句话说,我们应该尝试教授计算机科学,而不是教着写代码。在本文中,我将介绍两者的不同,以及为什么后者是当下学编程浪潮成功的关键。

如果你喜欢视频的解释,我强烈推荐Simon Peyton Jones的TED,Teaching Creative Computer Science。

想读更多 ->

Java Web状态代码速查表——开发即查即用

发布者: super | 发布时间:2017-11-15

原标题:Java Web状态代码速查表——开发即查即用

网络配图

状态代码描述100 - 199状态代码 100 - 199 间的值都是信息性的、标示客户应该采取的其他动作。200 - 299状态代码 200 - 299 间的值表示请求成功。300 - 399状态代码 300 - 399 间的值用于那些已经移走的文件、常常包括 Location 报头、指出新的地址。400 - 499状态代码 400 - 499 间的值表明是由客户引发的错误。500 - 599状态代码 500 - 599 间的代码表示由服务器引发的错误一些重要的状态代码说明100Continue、继续如果服务器接收到的值为 100-Continue 的 Expect 的请求报头、这表示客户程序在询问是否可以在随后的请求中发送附加文档。

这种情况下、服务器应该说以状态 100(SC_Continue) 回应、告诉

想读更多 ->

坐了N次的飞机 但你知道它的航班号是怎么来的吗?

发布者: super | 发布时间:2017-11-15

原标题:坐了N次的飞机 但你知道它的航班号是怎么来的吗?

每回坐飞机看到航班号,你会不会产生这样一个疑问——这些字母+数字的航班号到底代表着什么?它有什么规律吗?它的命名有着什么样的特点?……纵使你我疑问千百多,但我们唯一可以确定的是这些航班号肯定不是乱取的。

这些拥有着“摩斯密码”般神秘的航班号具体有什么含义呢?就让小编为你慢慢道来。

2004年,我国对航班号命名进行了调整,现在的航班号和2004年之前的航班号有着不同的命名规则,但也有相似之处。

2004年之前航班号的命名规则

1、两位字母代表航空公司

2004年之前的航班号规则相比于现在来说可能会清晰得多。当时中国国内航班号是由航空公司的两字代码+4位数字组成,如:JD5601(海口=呼和浩特)。这其中JD为航空公司的两字代码。

每个航空公司都有自己的两字代码。上文中的JD代表的就是首都航空。

原标题:嵌入式学习笔记之GPIO详解

一、 什么是GPIO

GPIO,英文全称为General-Purpose IO ports,也就是通用IO口。在嵌入式系统中常常有数量众多,但是结构却比较简单的外部设备/电路,对这些设备/电路有的需要CPU为之提供控制手段,有的则需要被CPU用作输入信号。而且,许多这样的设备/电路只要求一位,即只要有开/关两种状态就够了,比如灯亮与灭。对这些设备/电路的控制,使用传统的串行口或并行口都不合适。所以在微控制器芯片上一般都会提供一个“通用可编程IO接口”,即GPIO。接口至少有两个寄存器,即“通用IO控制寄存器”与“通用IO数据寄存器”。数据寄存器的各位都直接引到芯片外部,而对这种寄存器中每一位的作用,即每一位的信号流通方向,则可以通过控制寄存器中对应位独立的加以设置。这样,有无GPIO接口也就成为微控制器区别于微处理器的一个特征。

二、 GPIO之LCD控制编程

S3C2440有130个I/O端口,分为A-J共9组:GPA、GPB、GPJ,可以通过设置寄存器来确定某个引脚用于输入、输出还是特殊功能。比如:可以设置GPH6作为输入、输出、或者用于串口

想读更多 ->

线程安全与共享资源

发布者: super | 发布时间:2017-11-15

原标题:线程安全与共享资源

来源:毕冉,

ifeve.com/thread-safety/

允许被多个线程同时执行的代码称作线程安全的代码。线程安全的代码不包含竞态条件。当多个线程同时更新共享资源时会引发竞态条件。因此,了解Java线程执行时共享了什么资源很重要。

局部变量

局部变量存储在线程自己的栈中。也就是说,局部变量永远也不会被多个线程共享。所以,基础类型的局部变量是线程安全的。下面是基础类型的局部变量的一个例子:

public void someMethod(){

long threadSafeInt = 0;

threadSafeInt++;

}

局部的对象引用

对象的局部引用和基础类型的局部变量不太一样。尽管引用本身没有被共享,但引用所指的对象并没有存储在线程的栈内。所有的对象都存在共享堆中。如果在某个方法中创建的对象不会逃逸出(译者注:即该对象不会被其它方法获得,也不会被非局部变量引用到)该方法,那么它就是线程安全的。实际上,哪怕将

想读更多 ->

Lambda 表达式的 10 个示例

发布者: super | 发布时间:2017-11-15

原标题:Lambda 表达式的 10 个示例

来源:ImportNew - lemeilleur,

www.importnew.com/16436.html

在Java 8之前,如果想将行为传入函数,仅有的选择就是匿名类,需要6行代码。而定义行为最重要的那行代码,却混在中间不够突出。Lambda表达式取代了匿名类,取消了模板,允许用函数式风格编写代码。这样有时可读性更好,表达更清晰。在Java生态系统中,函数式表达与对面向对象的全面支持是个激动人心的进步。将进一步促进并行第三方库的发展,充分利用多核CPU。作为开发人员,我发现学习和掌握lambda表达式的最佳方法就是勇于尝试,尽可能多练习流API和lambda表达式,用于对列表(Lists)和集合(Collections)数据进行提取、过滤和排序。本文分享在代码中最有用的10个lambda表达式的使用方法,这些例子都短小精悍,将帮助你快速学会lambda表达式。

Java 8 lambda表达式示例

我个人对Java 8发布非常激动,尤其是lambda表达式和流API。越来越多的了解它们,我能写出更干净的

想读更多 ->

分布式服务框架Dubbo疯狂更新!阿里开源要搞大事情?

发布者: super | 发布时间:2017-11-15

原标题:分布式服务框架Dubbo疯狂更新!阿里开源要搞大事情?

阿里妹导读:最近,开源社区发生了一件大事——使用最广的开源服务框架之一Dubbo低调重启维护,并且3个月连续发布了3个维护版本。这3个维护版本不仅解决了社区关心的一系列问题和需求,还让整个社区的活跃度得到了大幅提升。

Dubbo启动维护后,阿里中间件(Aliware)组建了由专职人员和RPC技术专家组成的虚拟维护团队。通过这篇文章,Dubbo的虚拟维护团队将和大家分享一些Dubbo启动维护的历程、取得的成绩以及后续的规划,具体包括Dubbo社区的建设情况、当前的版本维护主线、近期roadmap及后续计划等。

Dubbo是阿里巴巴于2012年开源的分布式服务治理框架,目前已是国内影响力最大、使用最广泛的开源服务框架之一,在Github上的fork、start数均已破万。

在过去几年,

想读更多 ->