- Android开机流程-从Init进程启动到进入Android桌面
techfuture
Android基础架构系列androidjava机器人
1.init进程启动流程Androidbootloader负责加载boot.img,将其内容放入内存,然后启动内核。内核接管之后,会解压并加载ramdisk到内存中,然后启动用户空间的第一个进程init。在Android系统启动过程中,ramdisk.img被内核直接解压到内存中并用作初始根文件系统。这一过程不是通过挂载块设备来实现的,而是通过解压cpio档案的内容到内存中的临时文件系统(tmpf
- APP启动优化
Coder_Sven
APP启动流程1,系统的启动1.打开电源引导芯片代码加载引导程序BootLoader到RAM中去执行2.BootLoader把操作系统拉起来3.Linux内核启动开始系统设置,找到一个init.rc文件启动初始化进程4.init进程初始化和启动属性服务,之后开启Zygote进程5.Zygote开始创建JVM并注册JNI方法,开启SystemServer6.启动Binder线程沲和SystemSer
- Android Init Language
今天也是星期五
开发语言androidzygote
AndroidInitLanguage安卓初始化语言,是一种用于配置和管理Android系统服务的专用脚本语言。主要用于编写.rc文件(比如我们熟知的init.rc文件),这些文件在系统启动时由init进程读取和执行,从而设置和启动系统服务、管理权限、定义设备节点等。一.基本语法和结构AndroidInitLanguage有五大类组成:Actions,Commands,Services,Optio
- Android源码分析--启动时序图
linuxMinx
Android源码分析Android源码分析
为什么Android系统启动比较慢Build的产物中最重要的是三个镜像文件,位于/out/target/product//目录下ramdisk.img:在启动时将被Linux内核挂载为只读分区,它包含了/init文件和一些配置文件。它用来挂载其他系统镜像并启动init进程。解析步骤:Init.c(system\core\init)Init.c{main(......init_parse_confi
- 2019-07-29
小风车_d94c
系统启动流程centos601.系统开机自检检查所有硬件是否正常02.引导系统启动MBR引导空间512字节读取分区表概念03.加载启动菜单grub菜单选择加载内核信息进入单用户模式修复系统04.加载系统内核05.运行系统进程运行系统第一个进程init进程pid106.加载运行文件运行级别文件/etc/inittab加载系统运行级别默认307.系统初始化设置主机名称加载网卡地址加载/etc/rc.d
- Zygote进程启动过程
竖起大拇指
Android系统进程启动流程android系统的Zygote进程是所有android进程的父进程,包括SystemServer和各种应用进程都是通过Zygote进程fork处理的。Zygote进程相当于是android系统的根进程,后面所有的进程都是通过这个进程fork出来的,而Zygote进程则是通过Linux系统的init进程启动的,也就是说,android系统中各种进程的启动方式:init
- zygote 的启动 - 2.3
Wi1ls努力努力再努力
zygote进程是Android系统的进程孵化器。zygote进程由init进程在解析init.rc的时候启动。在./system/core/init/readme.txt有对于init.rc文件的注释。init.rc对于zygote的启动描述servicezygote/system/bin/app_process-Xzygote/system/bin--zygote--start-system-
- awk周考试题
杨丶子
一:简答1.1:centos6与7启动流程前五步相同:Centos6Centos71.开机1.开机2.bios开机自检2.bios开机自检3.MBR引导3.MBR引导4.GRUB菜单选择不同内核CentOS6进入单用户模式4.GRUB菜单选择不同内核CentOS7进入单用户模式5.加载内核/boot加载到内存5.加载内核/boot加载到内存6.运行INIT进程CentOS6第一个进程6.运行sys
- Linux中孤儿/僵尸进程/wait/waitpid函数
落落落sss
linux运维服务器
孤儿进程:概念:若子进程的父进程已经死掉,而子进程还存活着,这个进程就成了孤儿进程。为了保证每个进程都有一个父进程,孤儿进程会被init进程领养,init进程成为了孤儿进程的养父进程,当孤儿进程退出之后,由init进程完成对孤儿进程的回收。init进程的pid=1。僵尸进程:概念:子进程先退出,父进程没有完成对子进程资源的回收(父进程还没结束),此时子进程就变成了僵尸进程。如何解决:不能使用kil
- Android系统的启动流程
广强_
android
Android系统启动流程大致可以概括为以下的几个步骤:电源启动BootLoader启动Linux内核启动init进程启动Zygote进程启动SystemServer进程启动Launcher启动关键的进程及其作用:init进程init进程是Android系统中用户空间的第一个进程,进程号为1,是Android系统启动流程中的一个关键进程。它被赋予很多重要的工作职责,比如创建Zygote(孵化器)和
- Zygote进程简介
NIIIICO
本文基于Android_9.0、kernel_3.18源码zygote启动流程Android手机进程打开控制台,使用adbshell,然后执行ps-A命令;便可看到Android系统中运行的进程。PID是进程号,PPID是父进程号。PID越小启动越早。Android手机进程主要进程之间的关系通过梳理我们可以得到以下的关系图:进程关系init进程打开android手机后,会先启动bootloader
- Android14 SurfaceFlinger的启动
jinyanmei_335
开发语言android
由init进程启动,从main函数开始主要是初始化了Surflinger,并启动了线程79intmain(int,char**){80signal(SIGPIPE,SIG_IGN);8182hardware::configureRpcThreadpool(1/*maxThreads*/,83false/*callerWillJoin*/);//启动图形服务8485startGraphicsAllo
- Linux下的七个运行级别介绍
zxa1334
LInuxLinux运行级别多用户
init是Linux系统操作中不可缺少的程序之一。init进程,它是一个由内核启动的用户级进程。内核会在过去曾使用过init的几个地方查找它,它的正确位置(对Linux系统来说)是/sbin/init。如果内核找不到init,它就会试着运行/bin/sh,如果运行失败,系统的启动也会失败。Linux7个运行级别(0:关机,停机模式、1:单用户模式、2:多用户模式、3:完整的多用户文本模式、4:系统
- Linux七个运行级别详细说明!
老男孩IT教育
linux运维服务器
linux有几个运行级别?Linux系统中,有7个运行级别,分别是:0123456,接下来小编通过这篇文章为大家详细介绍一下Linux的各个运行级别。init是Linux操作系统中不可或缺的程序之一。init进程,它是一个由内核启动的用户级进程。内核会在过去曾使用过init的几个地方查找它,它的正确位置是/sbin/init。如果内核找不到init,它就会试着运行/bin/sh,如果运行失败,系统
- Android 开机流程介绍
林奋斗同学
Androidandroid
文章目录一、目的二、环境三、相关概念3.1Android平台架构3.2Android启动架构3.3zImage3.4RAMDISK3.5RC文件四、详细设计4.1BootRom4.2BootLoader4.3Kernel4.3.1zImage解压缩阶段4.3.2kernel的汇编启动阶段4.3.3Kernel的C启动阶段4.3.3.1kernel启动log4.3.3.2init进程&kthread
- Android selinux调试(rk3588 android 12平台)
月山知了
BSPAndroidandroid
Androidselinux调试(rk3588android12平台):参考文档:Android系统10RK3399init进程启动(二十七)SelinuxType和Attributehttps://www.jb51.net/article/277418.htmAndroidselinux策略文件的编译与加载https://c.biancheng.net/view/1151.htmlSELinux
- Android-33源码分析: 系统启动流程
CHNE_TAO_EMSM
android
1、按下电源键进行系统启动:触发引导芯片,加载预定义代码,启动引导程序BootLoader2、启动BootLoader引导程序:它是一个Android系统启动前运行的一个小程序,用来拉起OS并运行3、启动linux内核:设置缓存、被保护存储器、计划列表、加载驱动、完成系统设置,设置完后会找到系统文件init.rc启动init进程init_parse_config_file("/init.rc");
- 并发编程【2】
m0_58310590
服务器linux网络
01.什么是僵尸进程,孤儿进程僵尸进程是指在进程已经终止但是其父进程尚未终止信息(退出状态码)的情况下。保留在进程表中的进程。僵尸进程不占用实际的系统资源,但会占用一个进程ID,并且会在系统中产生垃圾。孤儿是指在网络中失去父进程(创建它的进程)却继续运行的子进程。通常是由于父进程异常退出或未正确管理子进程而导致。它就会并由init进程来处理孤儿进程的退出状态。在从进程表中删除孤儿进程的记录。02.
- OpenHarmony RK3568 启动流程优化
天之大
javalinux服务器
目前rk3568的开机时间有21s,统计的是关机后从按下power按键到显示锁屏的时间,当对openharmony的系统进行了裁剪子系统,系统app,禁用部分服务后发现开机时间仅仅提高到了20.94s优化微乎其微。在对init进程的log进行分析并解决其中的时间断层后开机时长优化到了16.5s左右,可以说是一个非常大的进步了,下面详细讲一下优化的过程。一、定位logopenharmony支持dme
- 【linux】-centos7版本前后-变化篇
穿山甲yyds
linux运维服务器
1.centos7版本前后区别首先文件系统变化,由EXT4,变为XFS格式。可支持容量500TB的文件,而6代仅能支持16TB。首个进程变为systemd,替换了熟悉的init进程。它的特点是功能强大,体积也很强大。systemd给我们带来了一个全家桶命令,替换了之前的Service,chkconfig等命令系统运行级别也换为人类更可读的模式默认运行级别在此处配置:旧:/etc/inittab新:
- Android 系统启动--03:init进程
Darcy1024
本文转载自:Android10.0系统启动之init进程本文基于Android10.0源码分析(kernel/msm-4.19)1.概述 init进程是linux系统中用户空间的第一个进程,进程号为1。当bootloader启动后再启动kernel,kernel启动完后,在用户空间启动init进程,再通过init进程,来读取init.rc中的相关配置,从而来启动其他相关进程以及其他操作。 in
- Android 系统启动过程
来撕特成
android
当按下电源时,引导芯片代码会从预定义的地方(固化在ROM)开始执行,加载引导程序BootLoader到RAM,然后执行。启动内核的第一个进程idle(pid=0),idle进程是Linux系统第一个进程,是init进程和kthreadd进程的父进程。idle的主要作用初始化进程以及内存管理,加载硬件的驱动程序创建init进程,该进程的pid=1,init进程是第一个用户空间的进程创建kthread
- linux运行级别及其含义,linux的运行级别及相应含义
雨诺寒雪
linux运行级别及其含义
一、Linux系统有7级运行模式:分别是(init0-6)第0级:关闭系统(千万不要把initdefault设置为0,否则将开不了机)第1级:单用户模式第2级:没有网络多用户模式第3级:有网络多用户模式第4级:系统保留第5级:有网络和图形的多用户模式第6级:重启系统(千万不要把initdefault设置为6,否则电脑将一直开机重启)二、系统默认运行级别系统默认开机时,init进程读取/etc/in
- Linux运行服务-级别
X.cc
linuxlinux服务器运维
运行模式也可以称之为运行级别在linux中存在一个进程init进程id是1查看进程ps-ef|grepinit#过滤该进程存在一个对应的配置文件inittab系统运行级别配置文件,位置/etc/inittab查看文件的方式lesstailheadcatvimvim是编辑模式剩下4个是查看不编辑模式head和tail是查看一部分cat查看所有cat/etc/inittab#在配置文件里面表示注释文件
- Linux Systemd 服务管理教程
龙行天5
linuxlinux网络服务器
Systemd简介历史上,Linux的启动一直采用init进程。下面的命令用来启动服务。$sudo/etc/init.d/apache2start#或者$serviceapache2start这种方法有两个缺点。启动时间长。init进程是串行启动,只有前一个进程启动完,才会启动下一个进程。启动脚本复杂。init进程只是执行启动脚本,不管其他事情。脚本需要自己处理各种情况,这往往使得脚本变得很长。S
- Linux系统中的bash 进程和init进程还有systemd进程分别有什么作用,他们之间有什么联系?
aFakeProgramer
嵌入式基础Linux学习笔记linux
Linux系统中的bash进程、init进程和systemd进程都是一种守护进程(daemon),即在后台运行的进程,为系统提供各种服务。bash进程是一种命令行解释器,它可以执行用户输入的命令或者脚本文件,提供用户与系统的交互界面。bash进程通常是用户登录后启动的,每个用户可以有多个bash进程。init进程是Linux系统的第一个进程,它的进程号(PID)为1,它负责启动和停止系统的其他进程
- 一文让你深度了解Linux内核架构和工作原理
玩转Linux内核
前言:作用是将应用层序的请求传递给硬件,并充当底层驱动程序,对系统中的各种设备和组件进行寻址。目前支持模块的动态装卸(裁剪)。Linux内核就是基于这个策略实现的。Linux进程1.采用层次结构,每个进程都依赖于一个父进程。内核启动init程序作为第一个进程。该进程负责进一步的系统初始化操作。init进程是进程树的根,所有的进程都直接或者间接起源于该进程。virt/----提供虚拟机技术的支持。原
- APUE学习笔记(八)进程控制
伊库塔花花
学习记录
8.1进程标识每个进程都有一个非负整型表示的唯一进程ID。进程ID是可重用的。ID为0的进程通常是调度进程,常常被称为交换进程(swapper)。该进程是内核的一部分,它并不执行任何磁盘上的程序。ID为1通常是init进程,在自举过程结束时由内核调用。#include#include#includeintmain(intargc,char*argv[]){printf("%d\n",getpid(
- 深入理解进程控制相关的函数
智杰狼
UNIX笔记专区数据库linux运维
进程标识每个进程都有一个非负整型表示的唯一进程ID。ID为0的进程通常是调度进程,也被称为系统进程。ID为1的进程通常是init进程,此进程负责在自举内核后启动一个UNIX系统。init进程决不会终止,它虽然不是内核中的系统进程,但是它以超级用户特权运行。ID为2时页守护进程,此进程负责支持虚拟存储器系统。有关进程ID的一些获取函数#includepid_tgetpid(void);//返回值:调
- linux常用命令:shutdown 命令
weixin_30484247
操作系统运维shell
shutdown以一种安全的方式关闭系统。1.命令格式:shutdown[参数][时间]2.命令功能:功能:系统关机命令,shutdown指令可以关闭所有程序,并依用户的需要,进行重新开机或关机的动作,所有登陆用户都可以看到关机信息提示。原理:shutdown通过通知init进程,要求它改换运行级别来实现。运行级别0用来关闭系统,运行级别6用来重启系统,运行级别1用来使系统进入执行系统管理任务状态
- linux系统服务器下jsp传参数乱码
3213213333332132
javajsplinuxwindowsxml
在一次解决乱码问题中, 发现jsp在windows下用js原生的方法进行编码没有问题,但是到了linux下就有问题, escape,encodeURI,encodeURIComponent等都解决不了问题
但是我想了下既然原生的方法不行,我用el标签的方式对中文参数进行加密解密总该可以吧。于是用了java的java.net.URLDecoder,结果还是乱码,最后在绝望之际,用了下面的方法解决了
- Spring 注解区别以及应用
BlueSkator
spring
1. @Autowired
@Autowired是根据类型进行自动装配的。如果当Spring上下文中存在不止一个UserDao类型的bean,或者不存在UserDao类型的bean,会抛出 BeanCreationException异常,这时可以通过在该属性上再加一个@Qualifier注解来声明唯一的id解决问题。
2. @Qualifier
当spring中存在至少一个匹
- printf和sprintf的应用
dcj3sjt126com
PHPsprintfprintf
<?php
printf('b: %b <br>c: %c <br>d: %d <bf>f: %f', 80,80, 80, 80);
echo '<br />';
printf('%0.2f <br>%+d <br>%0.2f <br>', 8, 8, 1235.456);
printf('th
- config.getInitParameter
171815164
parameter
web.xml
<servlet>
<servlet-name>servlet1</servlet-name>
<jsp-file>/index.jsp</jsp-file>
<init-param>
<param-name>str</param-name>
- Ant标签详解--基础操作
g21121
ant
Ant的一些核心概念:
build.xml:构建文件是以XML 文件来描述的,默认构建文件名为build.xml。 project:每个构建文
- [简单]代码片段_数据合并
53873039oycg
代码
合并规则:删除家长phone为空的记录,若一个家长对应多个孩子,保留一条家长记录,家长id修改为phone,对应关系也要修改。
代码如下:
- java 通信技术
云端月影
Java 远程通信技术
在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB和JMS等,这些名词之间到底是些什么关系呢,它们背后到底是基于什么原理实现的呢,了解这些是实现分布式服务框架的基础知识,而如果在性能上有高的要求的话,那深入了解这些技术背后的机制就是必须的了,在这篇blog中我们将来
- string与StringBuilder 性能差距到底有多大
aijuans
之前也看过一些对string与StringBuilder的性能分析,总感觉这个应该对整体性能不会产生多大的影响,所以就一直没有关注这块!
由于学程序初期最先接触的string拼接,所以就一直没改变过自己的习惯!
- 今天碰到 java.util.ConcurrentModificationException 异常
antonyup_2006
java多线程工作IBM
今天改bug,其中有个实现是要对map进行循环,然后有删除操作,代码如下:
Iterator<ListItem> iter = ItemMap.keySet.iterator();
while(iter.hasNext()){
ListItem it = iter.next();
//...一些逻辑操作
ItemMap.remove(it);
}
结果运行报Con
- PL/SQL的类型和JDBC操作数据库
百合不是茶
PL/SQL表标量类型游标PL/SQL记录
PL/SQL的标量类型:
字符,数字,时间,布尔,%type五中类型的
--标量:数据库中预定义类型的变量
--定义一个变长字符串
v_ename varchar2(10);
--定义一个小数,范围 -9999.99~9999.99
v_sal number(6,2);
--定义一个小数并给一个初始值为5.4 :=是pl/sql的赋值号
- Mockito:一个强大的用于 Java 开发的模拟测试框架实例
bijian1013
mockito单元测试
Mockito框架:
Mockito是一个基于MIT协议的开源java测试框架。 Mockito区别于其他模拟框架的地方主要是允许开发者在没有建立“预期”时验证被测系统的行为。对于mock对象的一个评价是测试系统的测
- 精通Oracle10编程SQL(10)处理例外
bijian1013
oracle数据库plsql
/*
*处理例外
*/
--例外简介
--处理例外-传递例外
declare
v_ename emp.ename%TYPE;
begin
SELECT ename INTO v_ename FROM emp
where empno=&no;
dbms_output.put_line('雇员名:'||v_ename);
exceptio
- 【Java】Java执行远程机器上Linux命令
bit1129
linux命令
Java使用ethz通过ssh2执行远程机器Linux上命令,
封装定义Linux机器的环境信息
package com.tom;
import java.io.File;
public class Env {
private String hostaddr; //Linux机器的IP地址
private Integer po
- java通信之Socket通信基础
白糖_
javasocket网络协议
正处于网络环境下的两个程序,它们之间通过一个交互的连接来实现数据通信。每一个连接的通信端叫做一个Socket。一个完整的Socket通信程序应该包含以下几个步骤:
①创建Socket;
②打开连接到Socket的输入输出流;
④按照一定的协议对Socket进行读写操作;
④关闭Socket。
Socket通信分两部分:服务器端和客户端。服务器端必须优先启动,然后等待soc
- angular.bind
boyitech
AngularJSangular.bindAngularJS APIbind
angular.bind 描述: 上下文,函数以及参数动态绑定,返回值为绑定之后的函数. 其中args是可选的动态参数,self在fn中使用this调用。 使用方法: angular.bind(se
- java-13个坏人和13个好人站成一圈,数到7就从圈里面踢出一个来,要求把所有坏人都给踢出来,所有好人都留在圈里。请找出初始时坏人站的位置。
bylijinnan
java
import java.util.ArrayList;
import java.util.List;
public class KickOutBadGuys {
/**
* 题目:13个坏人和13个好人站成一圈,数到7就从圈里面踢出一个来,要求把所有坏人都给踢出来,所有好人都留在圈里。请找出初始时坏人站的位置。
* Maybe you can find out
- Redis.conf配置文件及相关项说明(自查备用)
Kai_Ge
redis
Redis.conf配置文件及相关项说明
# Redis configuration file example
# Note on units: when memory size is needed, it is possible to specifiy
# it in the usual form of 1k 5GB 4M and so forth:
#
- [强人工智能]实现大规模拓扑分析是实现强人工智能的前奏
comsci
人工智能
真不好意思,各位朋友...博客再次更新...
节点数量太少,网络的分析和处理能力肯定不足,在面对机器人控制的需求方面,显得力不从心....
但是,节点数太多,对拓扑数据处理的要求又很高,设计目标也很高,实现起来难度颇大...
- 记录一些常用的函数
dai_lm
java
public static String convertInputStreamToString(InputStream is) {
StringBuilder result = new StringBuilder();
if (is != null)
try {
InputStreamReader inputReader = new InputStreamRead
- Hadoop中小规模集群的并行计算缺陷
datamachine
mapreducehadoop并行计算
注:写这篇文章的初衷是因为Hadoop炒得有点太热,很多用户现有数据规模并不适用于Hadoop,但迫于扩容压力和去IOE(Hadoop的廉价扩展的确非常有吸引力)而尝试。尝试永远是件正确的事儿,但有时候不用太突进,可以调优或调需求,发挥现有系统的最大效用为上策。
-----------------------------------------------------------------
- 小学4年级英语单词背诵第二课
dcj3sjt126com
englishword
egg 蛋
twenty 二十
any 任何
well 健康的,好
twelve 十二
farm 农场
every 每一个
back 向后,回
fast 快速的
whose 谁的
much 许多
flower 花
watch 手表
very 非常,很
sport 运动
Chinese 中国的
- 自己实践了github的webhooks, linux上面的权限需要注意
dcj3sjt126com
githubwebhook
环境, 阿里云服务器
1. 本地创建项目, push到github服务器上面
2. 生成www用户的密钥
sudo -u www ssh-keygen -t rsa -C "
[email protected]"
3. 将密钥添加到github帐号的SSH_KEYS里面
3. 用www用户执行克隆, 源使
- Java冒泡排序
蕃薯耀
冒泡排序Java冒泡排序Java排序
冒泡排序
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年6月23日 10:40:14 星期二
http://fanshuyao.iteye.com/
- Excle读取数据转换为实体List【基于apache-poi】
hanqunfeng
apache
1.依赖apache-poi
2.支持xls和xlsx
3.支持按属性名称绑定数据值
4.支持从指定行、列开始读取
5.支持同时读取多个sheet
6.具体使用方式参见org.cpframework.utils.excelreader.CP_ExcelReaderUtilTest.java
比如:
Str
- 3个处于草稿阶段的Javascript API介绍
jackyrong
JavaScript
原文:
http://www.sitepoint.com/3-new-javascript-apis-may-want-follow/?utm_source=html5weekly&utm_medium=email
本文中,介绍3个仍然处于草稿阶段,但应该值得关注的Javascript API.
1) Web Alarm API
&
- 6个创建Web应用程序的高效PHP框架
lampcy
Web框架PHP
以下是创建Web应用程序的PHP框架,有coder bay网站整理推荐:
1. CakePHP
CakePHP是一个PHP快速开发框架,它提供了一个用于开发、维护和部署应用程序的可扩展体系。CakePHP使用了众所周知的设计模式,如MVC和ORM,降低了开发成本,并减少了开发人员写代码的工作量。
2. CodeIgniter
CodeIgniter是一个非常小且功能强大的PHP框架,适合需
- 评"救市后中国股市新乱象泛起"谣言
nannan408
首先来看百度百家一位易姓作者的新闻:
三个多星期来股市持续暴跌,跌得投资者及上市公司都处于极度的恐慌和焦虑中,都要寻找自保及规避风险的方式。面对股市之危机,政府突然进入市场救市,希望以此来重建市场信心,以此来扭转股市持续暴跌的预期。而政府进入市场后,由于市场运作方式发生了巨大变化,投资者及上市公司为了自保及为了应对这种变化,中国股市新的乱象也自然产生。
首先,中国股市这两天
- 页面全屏遮罩的实现 方式
Rainbow702
htmlcss遮罩mask
之前做了一个页面,在点击了某个按钮之后,要求页面出现一个全屏遮罩,一开始使用了position:absolute来实现的。当时因为画面大小是固定的,不可以resize的,所以,没有发现问题。
最近用了同样的做法做了一个遮罩,但是画面是可以进行resize的,所以就发现了一个问题,当画面被reisze到浏览器出现了滚动条的时候,就发现,用absolute 的做法是有问题的。后来改成fixed定位就
- 关于angularjs的点滴
tntxia
AngularJS
angular是一个新兴的JS框架,和以往的框架不同的事,Angularjs更注重于js的建模,管理,同时也提供大量的组件帮助用户组建商业化程序,是一种值得研究的JS框架。
Angularjs使我们可以使用MVC的模式来写JS。Angularjs现在由谷歌来维护。
这里我们来简单的探讨一下它的应用。
首先使用Angularjs我
- Nutz--->>反复新建ioc容器的后果
xiaoxiao1992428
DAOmvcIOCnutz
问题:
public class DaoZ {
public static Dao dao() { // 每当需要使用dao的时候就取一次
Ioc ioc = new NutIoc(new JsonLoader("dao.js"));
return ioc.get(